スキル

自サイトに検索機能をつけるには?

サイト内検索システムを使い、少ない操作で目的のページを表示させるようにすれば利便性の高いサイトへと変貌します。サイト内検索システムはユーザが必要な検索語を入れると検索語を含むページが表示されます。

検索対象は自分のサイト内のページのみです。ここでは、サイト内検索システムをつける方法をまとめています。

検索機能をつけよう!

下記のような検索機能をつけて使いやすいサイトを作りましょう。

インデックス型検索エンジン

サーバーの管理権限があるならインデックス型検索エンジンを導入しましょう。検索が早くサーバーへの負荷を抑えることができます。

参考:Namazu

Linux版やWindows版などが配布されています。インストール方法は、上記URLのチュートリアルを参照して下さい。

逐次検索型検索エンジン

管理権限が無くても方法はあります。CGIを設置できる場合なら逐次検索型のCGIを設置しても良いでしょう。

検索エンジンの利用

例えば、gooなどが検索対象としているサイトなら検索エンジンの機能を利用することもできます。

参考:goo

どの方法を使うか比較してみよう

上記の方法を比較してみましょう。トータルなバランスを見て判断する必要があります。

・インデックス型検索エンジン

設置の簡単さ
検索の速さ
サーバーの負荷
反映の速さ
イントラネットでの使用

・逐次検索型検索エンジン

設置の簡単さ
検索の速さ
サーバーの負荷
反映の速さ
イントラネットでの使用

・検索エンジンの利用

設置の簡単さ
検索の速さ
サーバーの負荷
反映の速さ
イントラネットでの使用

・検索ASPサービスの利用

設置の簡単さ
検索の速さ
サーバーの負荷
反映の速さ
イントラネットでの使用

検索機能はどこに挿入すべきか?

サイト内検索は総合メニューに近いところに挿入すると使いやすいです。サブメニュー直下でも良いです。使いやすい場所に挿入するのが一番です。

インデックスを作って検索する方法

前もってインデックスを作成し、非常に高速に検索結果を表示させる方法があります。ローカルディスクだけでなく、他のサーバーも検索対象にできるものもあります。

・全文検索システム Namazu

有名な検索システムで、前もってインデックスを作成するため検索は高速です。別途日本語文書処理システムをインストールする必要があります。UNIX用やWindows用、OS/2用などがあります。基本的にはローカルディスクを対象としますが、「httpdown」や「wget」などといったソフトを併用すれば他のサーバーも検索対象にできます。

・S.CREW-1.2

参考:S.CREW-1.2

ソニー開発のフリー検索エンジンです。

ここでは「全文検索システム Namazu」のUNIXバージョンを導入する方法を紹介しますが、UNIXの知識を必要とするため上級者向けです。

インストールには管理者権限が必要です。一般ユーザーが利用する場合は管理者と相談しましょう。

まずは検索CGIをダウンロードしよう

まずは「全文検索システム Namazu」をダウンロードしましょう。このシステムをインストールするためには「KAKASI」と「nkf」が必要です。更に「KAKASI」は「わかち書きパッチ」と辞書も必要です。「Chasen」を利用する場合は「Namazu」のドキュメントから詳細を調べましょう。

・KAKASI

参考:KAKASI

「KAKASI」のインストール

「KAKASI」をインストールしてみましょう。「kakasi-2.2.5.tar.gz」を好きな場所に展開し、srcディレクトリに「kakasidict.940620.gz」を「kakasidict」という名前で展開します。わかち書きパッチ「kakasi-ext.tar.gz」を展開したらsrcディレクトリでパッチを当てます。

$ cd /usr/src/kakasi-2.2.5/src/

$ gzip -d kakasidict.940620.gz

$ mv kakasidict.940620 kakasidict

$ patch < /usr/src/kakasi-ext/patch.kakasi-2.2.5 

上記のような方法があります。これが終わればコンパイル(make)してroot権限でインストールします。以上で「KAKASI」のインストールは完了します。

$ make

          (←スーパーユーザー になる)

# make install

「Namazu」のインストール

続いて「Namazu」をインストールしましょう。「namazu-1.3.0.10.tar.gz」を好きな場所に展開し、srcディレクトリで「configure」を実行します。

「configure」で「kakasi」や「nkf」の場所を自動検出してくれるためインストールが簡単なのです。エラーが出たら問題を解決する必要があります。

問題なければ、コンパイルしroot権限でインストールしましょう。以上で「Namazu」のインストールは完了します。

$ ./configure

$ make

          (←スーパーユーザー になる)

# make install

インデックスの作成

「mknmz」を使いインデックスを作成する必要があります。まずはWebサイトで公開するためのインデックスを作成しましょう。

/home/httpd/htdocs/

/home/httpd/htdocs/index.html

/home/httpd/htdocs/01.html ~ 99.html

/home/httpd/htdocs/doc/

/home/httpd/htdocs/doc/01.txt ~ 99.txt

上記のようなディレクトリ構成でhtdocsディレクトリ以降を検索対象としたい場合はこのようにしましょう。

$ cd /home/httpd/namazu/

$ mknmz http://<domain>/ /home/httpd/htdocs/

カレントディレクトリにインデックスファイルが作成されるので、前もってカレントディレクトリを移動する必要があります。ここでは/home/httpd/namazu/というディレクトリをインデックス用のディレクトリにしています。

インデックスを作成する作業には時間を要します。余裕のある時間配分が必要です。

「namazu.cgi」の設定

「namazu-1.3.0.10.tar.gz」を展開したsrcディレクトリ内に「namazu.cgi」があります。これが検索CGI本体です。

これを好きな場所にコピーしましょう。今回は「/home/httpd/htdocs/」を使います。

ただし「namazu.cgi」単体では先ほど作成したインデックスの場所が分かりません。「namazu.cgi」と同ディレクトリに「.namazurc」を作成する必要があります。「namazu-1.3.0.10.tar.gz」を展開したlibディレクトリに「namazu.conf-dist」として保存されているので、「.namazurc」という名前でコピーしましょう。

$ cp namazu.conf-dist /home/httpd/htdocs/.namazurc

このファイル内の「INDEX」がインデックスファイルの場所を指定する箇所です。ここに、「/home/httpd/namazu/」を指定すれば完了です。

「mknmz」でURLを指定する方法ではなく、「.namazurc」の「REPLACE」で「/home/httpd/htdocs/ http://<domain>/」と指定する方法もあります。「.namazurc」は、様々な設定をすることができます。

動作確認

「http://<domain>/namazu.cgi」にアクセスするとNamazu標準の検索フォームが表示されます。動作しなければ今までの手順に間違いがないか確認しましょう。

検索フォームを変えたい場合は、表示されたページのHTMLソースを「search.html」など好きな名前で保存し編集すれば、「http://<domain>/search.html」というように自分で作成した検索フォームを利用することができます。他にも、「Namazu」や「KAKASI」は数多くの機能があります。その機能を最大限に活用して使いやすいサイト検索を目指しましょう。

検索アクションによりファイルを検索する

この方法は情報量が多いと検索に時間がかかり、Webサーバーがタイムアウトを起こしてしまいます。

コンテンツが多いときには利用できず、検索のたびに検索処理を行ないサーバーに負荷がかかります。コンテンツ量が少なければ、この方法が活用できます。

検索CGIのダウンロード

まずはCGIや関連ファイルをダウンロードしましょう。ここでは「nkf」ではなく「jcode.pl」を利用する「「簡易サーチエンジン」v1.12の説明をします。

「jsearch.cgi」と「jcode.pl」もダウンロードしましょう。もしサーバーに用意されていれば「jcode.pl」を使うこともできます。

・ネットサーフレスキュー

参考:簡易サーチエンジン

・漢字コードコンバートPerlライブラリ「jcode.pl」

参考:漢字コードコンバートPerlライブラリ「jcode.pl」

検索CGIをサーバーに合わせる

ダウンロードした検索CGIを動作させるために、プログラムの一部をサーバーに合わせテキストエディターで書き換える必要があります。難しい作業ですが、検索CGIの中に「ここを書き換える」という説明があります。「簡易サーチエンジン」の「jsearch.cgi」を使う場合を解説します。

まず、Perlの設定をサーバーに合わせます。Perlで組まれた検索CGIは一番先頭の行に「Perl」の場所が書かれています。これをインストールするサーバーに合わせましょう。「簡易サーチエンジン」はオリジナルでは「#!/usr/local/bin/perl」となるので、「/usr/local/bin/perl」以外にPerlがあれば「#!」以降を書き換えましょう。

次にjcode.plの設定をサーバーに合わせます。「jcode.pl」が用意されていないサーバーなら「1:」でダウンロードしたものがそのまま使えます。これなら書き換える必要はありません。

サーバーにすでに用意されていれば「jcode.pl」を使うこともできます。この場合は、jsearch.cgiの中でjcode.plを呼び出している部分を書き換える必要があります。オリジナルは「require ‘./jcode.pl’;」となっているので、サーバーに用意されている場所に合わせて「require ‘/usr/local/bin/jcode.pl’;」のように変更します。

その他の変更点やカスタマイズについても見ていきましょう。説明書をよく読むか、検索CGIの中に「必ず設定してください」と書いてある部分を探して必要事項を書き換えましょう。海外Webサーバーに設置する時は、検索CGIが時間を利用するなら日本時間を取得できるように工夫をすることもできます。

「簡易サーチエンジン」は、「$body = 」、「$title = 」、「$modoru_url = 」のページに表示される情報と、「$base = 」、「$baseurl = 」、「@TARGET = 」の検索をするために必要な情報があります。書き換える時は、「=」の後は「’」で始まり最後は「’;」で終わるという条件を崩してはいけません。Webに表示されるディレクトリ構成と、実際のサーバー上のディレクトリ構成を見て設定する必要があります。

/home/user/public_html/

/home/user/public_html/jsearch.cgi

/home/user/public_html/index.html

/home/user/public_html/01.html ~ 99.html

/home/user/public_html/doc/

/home/user/public_html/doc/01.txt ~ 99.txt

このようなディレクトリ構成で、index.htmlおよび01.html~99.htmlと/doc/01.txt~99.txtを検索対象にしたい時は

$base = ‘./’;

$baseurl = ‘/~<user>/’;

@TARGET = (‘*.html’,’doc/*.txt’);

となります。

index.htmlを含みたくなければ

@TARGET = (‘??.html’,’doc/*.txt’);

このように2文字のファイルのみ対象にする方法があります。

最後は本体以外のファイル作成とカスタマイズです。検索CGIによっては、本体以外のファイルが必要になることがあります。

検索対象を別ファイルに記述するものもあるからです。「簡易サーチエンジン」の場合は本体以外のファイルを用意する必要はありません。

サーバー側の設定

サーバー側にWebチャットCGIを設置する準備をしましょう。WWWサーバーやプロバイダーによっては、WebチャットCGIを動作させるために「.htaccess」ファイルを作成する必要があります。

必要かどうかはサーバーやプロバイダーの説明書を確認してください。サーバーによっては、このファイルがあると動作しなくなることもあります。

このファイルを作るには「.htaccess」ファイルを新規で作り、「AddType application/x-httpd-cgi .cgi」と書いてセーブします。検索CGIをアップロードする時に一緒に転送すれば完了です。

また、検索CGIによっては検索中の一時ファイル用ディレクトリを用意するものがあります。検索CGIが複数ファイルで構成されている場合は、管理しやすいように1つのディレクトリにまとめましょう。

ファイルのアップロード

用意した検索CGIやデータファイルと関連ファイルをサーバーにアップロードしましょう。「簡易サーチエンジン」の場合は「jsearch.cgi」と「jcode.pl」、必要に応じて「.htaccess」をアップロードします。

アップロードにはFTPクライアントを使用しましょう。今までのファイルは全てアスキーファイルです。

「アスキーモード」で転送することを忘れないで下さい。壁紙などを設定している場合は壁紙画像のみ「バイナリーモード」で転送しましょう。

FTPクライアントによっては「.txt」のファイルはアスキーモードで、「.cgi」や「.pl」のファイルはバイナリーモードで転送されることがあるので、FTPクライアントの設定をよく確かめましょう。

ファイルのパーミッションを変更する

転送したファイルや作成したディレクトリのパーミッション(権限)を、検索CGIが動作するように設定しましょう。パーミッションの設定には、UNIXとそのサーバーのシステムの知識が必要です。検索CGI本体や関連ファイルだけでなく、検索対象のファイル(*.htmlや*.txt)が検索CGIから検索できるか確かめておきましょう。

「簡易サーチエンジン」の場合はjsearch.cgiは「755」、jcode.plや.htaccessは「644」に設定するのが基本です。サーバによっては検索対象のファイルのパーミッションが検索CGIから見えないこともあるため「644」などに設定するべきです。

CGIやサーバーによって設定が異なるので、説明書を参考にして下さい。設定をしっかりしておかないと、同じプロバイダーの別ユーザーがファイルを消したり、書き換えたりする可能性があります。

動作確認

実際に検索CGIにアクセスしてみましょう。実際にキーワードで検索して、検索対象の全ディレクトリが検索できるか確かめておきましょう。

この時点で動作しない場合は、手順の再確認をするべきです。エラーはWebサーバーのerror_logファイルで見ることができます。もしerror_logを含むログが無ければエラーを推測する必要があります。

検索窓の設置方法

サイト内検索エンジンはGoogleが提供するカスタム検索を利用すれば簡単に設置することができます。HTMLで下記のように記述しましょう。

<form method=get action=http://www.google.co.jp/search target=_blank>

<input type=text name=q size=31 maxlength=255 value=>

<input type=submit name=btng value=検索>

<input type=hidden name=hl value=ja>

</form>

 これでGoogleの検索窓が表示されます。

あらかじめキーワードをセットした検索窓を挿入するには

HTMLで下記のように記述して下さい。

<form method=get action=http://www.google.co.jp/search target=_blank>

<input type=text name=q size=31 maxlength=255 value=キーワード>

<input type=submit name=btng value=検索>

<input type=hidden name=hl value=ja>

</form>

これで検索させたいキーワードをセットできます。

キーワードは上記HTMLソース2行目の「value=」で指定しましょう。

指定したサイト内の検索結果を表示させるには

これなら簡単にサイト内検索が使えます。HTMLで下記のように記述して下さい。

<form method=get action=http://www.google.co.jp/search target=_blank>

<input type=text name=q size=31 maxlength=255 value=>

<input type=submit name=btng value=検索>

<input type=hidden name=hl value=ja>

<input type=hidden name=sitesearch value=自サイトのドメイン>

</form>

下記の「検索」のボタンをクリックして頂くと分かりやすいかと思います。

検索したいサイトの指定は、5行目の「value=」に自サイトのドメインを書くことで指定できます。

Googleのカスタム検索を設置してみよう

Googleのカスタム検索を使って設置してみましょう。無料で使えるのに検索の性能が高く、とてもオススメです。

Googleのカスタム検索サイトにアクセス

まずは下記のサイトにアクセスして下さい。

参考:Google カスタム検索

利用するにはGoogleアカウントでログインする必要があります。

「新しい検索エンジン」から「検索するサイト」にURL入力

サイトの左上にある「新しい検索エンジン」をクリックしてください。「検索するサイト」に自分のホームページのURLを入力しましょう。

その後、「作成」ボタンを押して下さい。URLの最後に、「*」を付けることを忘れないようにしましょう。

「基本」タブ内の「コードを取得」ボタンをクリック

次に、「基本」タブ内の「コードを取得」ボタンをクリックしてください。

ソースをコピーして貼り付け

するとソースが表示されます。ソースをそのままコピーして自分のホームページに移動し、検索窓を表示させたい箇所に貼り付けましょう。 

Googleのカスタム検索なら、デザインを細かく指定できます。Googleのカスタム検索サイトにアクセスして左側にある「デザイン」をクリックし、検索窓の色やレイアウトをカスタマイズしてみましょう。

設定できたら保存してソースコードをホームページに貼り付けます。これだけで指定完了です。表示を確認しながら、調節するようにしましょう。

まとめ

検索窓には色々な設置方法があることが分かりました。検索機能を使うことができれば更に使いやすいページの作成が可能になります。大前提として見やすい構成のサイトにすることを心がけ、利用者の煩わしさを少しでも軽減できるように工夫しましょう。

無料・有料のものに関しては、メリットデメリットを検討した上で導入するべきです。後々の管理のしやすさやコスト面も考えながら一番使いやすい方法を選ぶようにしましょう。

無料講座|アクシグ式 最新情報
資金ゼロでネット物販を成功させる全手法


物販ビジネスで稼ぎたいけど、どうやって始めたらいいかわからない、売上が思うように伸びないなど悩んでいませんか?

本講座では世界最新の成功事例を実績をあげた成功者の経験をもとに、

  • 無在庫ネットショップ たった3ヶ月、1商品で 7214万9493円稼いだ方法
  • Amazonとネットショップで毎日39万円稼ぐ方法
  • 毎週19万3588円をInstagramから無料で集客して販売する方法
  • 無料でInstagramのインフルエンサーに商品を宣伝してもらう方法
  • 無在庫ストアで月商1億を超えた方法
  • 店舗せどりで1日1万円稼ぐ方法
  • アマゾンの在庫1パレットを僅か1000円で入手する方法
  • 無在庫ネットショップで儲かる商品を見つける海外の最新リサーチ法
など専門家が独自に入手した、日本ではまだ知られていない秘密の情報をお届けします。

あなたのビジネスを成功させるために、今すぐ限定情報を入手してください。