サイト検索を Google から Namazu へ

前のエントリー の続きです。
自サイトの検索も、 Google さんを利用させてもらっていたのですが、 どうも表示結果が思わしくないため、 無料で利用できる全文検索システムの namazu を利用することにしました。 こういうのが簡単に使えるのは自前サーバの利点ですねぇ。
で、 なぜ前のエントリーで書いたように日付を英語に変えたかというと、 Namazu の検索結果の日付の部分が文字化けしちゃうからなのです。 たとえば、 「2004 年 09 月 08 日」 という日付が、 Namazu の検索結果画面だと 「2004年09月08日」 に表示されてしまいます。 本当は解決方法もあるのでしょうが、面倒なので英語に統一してみました。
我が家の RedHat Linux 9 にはすでに namazu と kakasi が入っているので、 設定するのみです。 自分ひとりしか使わないため、 /etc/namazu/namazurc を修正しちゃいます。 (通常はこのファイルを .namazurc としてホームディレクトリなどにコピーして使うべきです)
なお、 Namazu で作成する索引ファイルやテンプレートは、 /home/namazu/index というディレクトリにおくことにします。 これはどこでもお好きなところでかまいません。 そして、検索対象のファイルは、 /home/hogehoge/public_html/ 配下にあるとして、 これを http://www.yondarikuwandari.com/ という URL で置き換える設定をしてあげます。
# mkdir -p /home/namazu/index
# vi /etc/namazu/namazurc
(次の内容を追加)
Index /home/namazu/index
Template /home/namazu/index
Replage /home/hogehoge/public_html/ http://www.yondarikuwandari.com/
Lang ja
ここまでできたら、索引をとりあえず作ってしまいましょう。
# cd /home/namazu/index
# mknmz /home/hogehoge/public_html
これでカレントディレクトリ、 /home/namazu/index 配下に索引ファイルとテンプレートファイルが作成されました。 この中でテンプレートとなるファイル、 NMZ.head.ja と NMZ.foot.ja は是非修正しましょう。 (私はタイトルだけしか変更してませんけど)
次に、 namazu.cgi (ちゃんと入ってるよなぁ。 見つからないときは、 locate namazu.cgi で探してみてください) を自サイトの cgi-bin/ ディレクトリにコピーなりリンクなりします。 あとは、 HTML 内から FORM を使ってこの namazu.cgi を呼び出すだけです。

<form method=GET action=”/cgi-bin/namazu.cgi” target=”_top”>
<input type=”text” name=”key” size=”15″ maxlength=”255″ value=”">
<input type=”submit” name=”submit” value=” 検 索 “>
<input type=”hidden” name=”whence” value=”0″></input>
<input type=”hidden” name=”reference” value=”off”></input>
<input type=”hidden” name=”max” value=”20″></input>
<input type=”hidden” name=”format” value=”long”></input>
<input type=”hidden” name=”sort value=”score”></input>
</form>

以上で完成。 ただし、 新規エントリーを追加したときなどは、 再び索引の作成、 mknmz コマンドを最初と同じように実行しなくてはいけません。 エントリーを追加するたびにやるのは面倒なので、 シェルを作成し、 cron で定期的に動かすのがお勧めです。 多少のタイムラグは仕方ない^^

関連した記事:


投稿時刻: 12:00 AM | カテゴリー: Blog | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">