homeホームHTMLに役立つヒント> wwwsrchの導入

検索フォーム/wwwsrchの導入


●検索フォームについて ▲ページトップ

 grepタイプなので設置が簡単。手元のMAC上でも動くので改造してあちこちで使わせてもらっています。
 最新版はver.3.13です。
 「とほほのWWW入門」でとほほさんが配布しているフリーCGIである。大感謝!
 mogawaさんの「MACでの日本語全文検索システムのページ」にMAC版への改造方法があります。改造の参考にさせていただきました。感謝!

 フツーのperlスクリプトなので、カウンターやBBSの設置経験があれば十分設置できます。
 本家の説明が懇切丁寧なので、このページはホントは必要ないです(実は自分のインストール備忘録なのだ)。インストール手順を知ることが目的なら、本家の説明ページの方が断然詳しいので、そちらを参照してください。

 他のcgiとの検索スピード比較に興味のある方は「検索テスト」ページを参照してください。
 テストしてみたい方はこちらでお願いします。ただしオリジナルではなく、改造版(macwwwsrch)です。

2001/5/10:現在古いバージョンを使っている方は、絶対3.09以降にバージョンアップするべきです。複数単語の検索が飛躍的に速くなっています。詳しくは上記の「検索テスト」ページを見てください。


●ダウンロード ▲ページトップ

 「検索フォーム設置法」から必要なファイルをダウンロードしてきます。
 本体のwwwsrch.cgiの他に、jcode.plが必要です。jcode.plは歌代氏が作成したフリーウェアで、日本語関係のツール集と思ってください。


●設定する ▲ページトップ

 wwwsrch.cgiの中味をサーバに合わせて書き換えます。

#!/usr/local/bin/perl ←たいていこれでOK。これで動かなければ#!/usr/bin/perlを試してみてください。

 引き続き設定部分を書き換えてください。

# 変更・確認必要パラメータ
#
$target_dir = '..'; # 検索対象ディレクトリ
$return_url = '../index.html'; # [戻る]ボタン
$sufix{".htm"} = 1; # 拡張子 .htm を検索する
$sufix{".html"} = 1; # 拡張子 .html を検索する
$sufix{".txt"} = 1; # 拡張子 .txt を検索する場合は追加する
$how_many_lines = 2; # マッチした行の前後何行を表示するか
$do_logging = 1; # 検索キーワードのロギング


●サーバに設置する ▲ページトップ

 「検索フォーム設置法」にしたがってサーバにwwwsrch.cgiとjcode.plをFTPします。あらかじめ専用のフォルダを作っておくと良いでしょう。FTPの時には漢字コードと改行コードに注意してください。これが間違っていると動きません。
 また、jcode.plが必ず同じディレクトリにある必要があります。同じディレクトリにjcode.plがないとエラーで動きません。

 パーミッションの設定をします。wwwsrch.cgiは755、jcode.plは644です。

 後はブラウザで設置したwwwsrch.cgiにアクセスしてください。これで動くはずです。動かない場合は漢字コード、改行コード、パーミッションを疑ってみてください。
 htmlで検索ページを作りたい場合は、このとき表示されるページをソースごと保存して改造すると良いでしょう。


●感想 ▲ページトップ

 ともかくお手軽。設置が簡単なのであちこちにつけたくなる。インターフェースもよく、結果の表示も前後何行を表示させるか設定できたりしてユーザーの好みに合わせられます。複数のディレクトリを同時に検索させることもできます。高機能でスマート、というのが印象です。

 検索スピードはキーワードが一つの場合はファイル数が300以上あってもかなり高速です。「資料室」をキーワードに「コンパクトカメラデータページ」を検索すると、ヒット数356ファイルで所要時間は0.6CPU時間(転送に時間がかかるので体感スピードでは最後まで表示されるのに6秒くらい)。複数の単語をキーワードにしてAND検索させると10秒以上の時間がかかり(対象ファイル数約300)、かなり苦しくなります。このあたり、「KISS-Search導入記」でKISS-Searchと対決させていますので参照してください。

 あ、MACで複数のディレクトリの検索をしたい場合は、検索したいディレクトリ(フォルダ)のエイリアスを、wwwsrch.cgiで指定した検索対象ディレクトリに置けば、検索できるようになります(MACへの対応方法は「日本語全文検索システムのページ」参照)。


●改造メモ ▲ページトップ

 改造点がかなり多いので、別ページにし、MACperlでも動く改造版の配布も開始しました。「macwwwsrch.cgiの設置方法」です。


 ▲ページトップ