Warning: count(): Parameter must be an array or an object that implements Countable in /usr/local/www/admnote/wp-includes/post-template.php on line 284

Namazu with PHP

PHPから使うNamazuの設定、および動的生成ページのインデックス法。

Namazuインストール

  1. PerlのFile::MMagicをインストール。

  2. nkfはインストール済みなので割愛。
  3. Kakasiをインストール。

  4. GNU gettextをインストール。これを入れないと検索結果の日本語表示ができない。Solarisについてくるgettextだとダメみたい。

  5. Namazuをインストール。

  6. Namazuモジュールをインストール。
    configure でincludeディレクトリを指定してもMakefile内でinclude pathに追加されないため、手動で追加する必要あり。

環境設定

  1. PHPを使用したページがほとんどなので、まずは一度静的ページに置き換える。wgetでミラーリングするのが簡単らしい(けど、対象にしたくないページが大量にあるので、自分で必要なファイルだけHTTPで取得するスクリプトを書いて、mirrorディレクトリの下に置いた)。

  2. 検索用のディレクトリを作成。

  3. namazu.cgiのコピー。

  4. インデックス作成。結構時間がかかる。インデックスファイル置き場のディレクトリをnamazu.cgiを置いた場所と分けたのは、再インデックスのたびに設定ファイルを上書きされるのを防ぐため。

  5. .namazurcを作成して、次の内容を記述。

  6. NMZ*を編集して、デザインをカスタマイズする。

  7. 定期的にインデックスを作成するためにcrontabに次の行を追加。

関連リンク

その他の全文検索ツール

ht://Dig
Namazuと違い、ネットワーク上のファイルもインデックス対象とできる。ただしC++で書かれているのでroot権限がないとインストール不可。
msearch
Perlで書かれた全文検索CGI。Namazu同様、静的ファイルしか検索対象にはできないらしい。