古いWEBシステムでNamazuを使っていてインデックスが更新されてないぞ?ってなったので作業メモ
原因
インデックス更新のバッチが用意されていなかっただけ。
対応
1. とりあえず更新してみる
$ mknmz -O /var/www/index /var/www/namazu
- /var/www/index … インデックスを作成する対象のディレクトリ
- /var/www/namazu … インデックスファイルを出力する先
エラーが出た。
/usr/local/share/kakasi/kanwadict: No such file or directory
どうやらkanwadictがないためエラーになっているらしい。
2. kanwadictを作成
mkkanwa kanwadict kakasidict
が、何故かkanwadictが作成されない。
試しにここからファイルをダウンロードして/usr/local/share/kakasiに.gzを配置してからもう一度実行したら成功。
3. もう一度mknmz実行
成功したけど、検索内容を確認したら文字化けしてる。
namazuの文字コードはEUCみたいなので環境に合わせた文字コードにしてあげる。
4. 文字コードを指定する
$ mknmz -O /var/www/index /var/www/namazu | nkf -w
- nkf -w … UTF-8を指定
無事、インデックスの更新が完了。
あとはこれをcronに登録しておけば定期的にインデックスが更新される。
自分の環境では1回2〜3分だったから実行タイミングもそこまでシビアではなかった。
しかし、Namazuにしろkanwadictにしろ更新が止まってるようなので別の全文検索に変えたほうが良いのかな…