文書検索ツールNamazuのインストール 以前から懸案だった文書検索ツールであるNamazuのインストールを再度挑戦してみることとした。 前回の問題は、インデックス作成時、つまり # mknmz -O /usr/local/var/namazu/index /var/www とした時に buffer over flow なるメッセージが無数に出て処理が止まってしまうというものであった。 この件については、今回何度か同じエラーを出してみたり、ネットで調べたりでどうもエクセルのファイルなどが含まれており、そこで止まっているのではと気がついた。 そこで、インデックスの作成方法を必要なディレクトリーのみ検索する方法に変更してこの問題は解決した。 test:/var/www/dummy# /usr/bin/mknmz --output-dir /usr/local/var/namazu/index/ /var/www/a /var/www/b 上の例は、ディレクトリーaとbを検索する場合である。 次に発生した問題は、検索が面の文字が化けると言うものであった。この件については、ネットで検索した結果、 vi /etc/apache2/conf.d/charset AddDefaultCharset utf8 を AddDefaultCharset off で日本語表示の正常化 として/etc/apache2/conf.d/charsetを修正することで解決した。ただし、この件はetchに関してでsargeではapacheの設定ファイルが違うようで関係なかった。 次に出た問題は、検索結果が文字化けする件であった。 これに関しても試行錯誤の結果以下の手順で解決することが出来た。
/etc/namazu/mknmzrcと/etc/namazu/namazurcの設定 /etc/namazu/mknmzrc # # Network Kanji Filter nkf v1.71 or later # # $NKF = "module_nkf"; $NKF = "/usr/bin/nkf" /etc/namazu/namazurc ## ## Index: Specify the default directory. ## Index /usr/local/var/namazu/index ## ## Template: Set the template directory containing ## NMZ.{head,foot,body,tips,result} files. ## Template /usr/local/var/namazu/index Replace /var/www http://anabuki.dip.jp/ Lang ja インデックスファイルの作成 test:/var/www/dummy# /usr/bin/mknmz --output-dir /usr/local/var/namazu/index/ /var/www --exclude=/var/www/dummy/* 複数のディレクトリーを指定する場合 test:/var/www/dummy# /usr/bin/mknmz --output-dir /usr/local/var/namazu/index/ /var/www/a /var/www/b ブラウザからhttp://192.168.0.63/cgi-bin/namazu.cgiで検索画面表示 文字化けするので vi /etc/apache2/conf.d/charset AddDefaultCharset utf8 を AddDefaultCharset off で日本語表示の正常化 <form method="get" action="http://anabuki.dip.jp/cgi-bin/namazu.cgi"> <p><strong> 検索</strong> <input type="text" name="key" size="30"> <input type="submit" name="submit" value=" GO "></p> </form> でホームページに埋め込む。 インデックスファイルの作成 test:/usr/local/var/namazu# /usr/bin/mknmz --output-dir /usr/local/var/namazu/index/ /var/www Looking for indexing files... 4 files are found to be indexed. 1/4 - /var/www/apache2-default/index.html [text/html] 2/4 - /var/www/test.txt [text/plain] 3/4 - /var/www/test2.txt [text/plain] 4/4 - /var/www/test3.txt [text/plain] Writing index files... [Base] Date: Tue Mar 11 21:51:23 2008 Added Documents: 4 Size (bytes): 75 Total Documents: 4 Added Keywords: 16 Total Keywords: 16 Wakati: module_kakasi -ieuc -oeuc -w Time (sec): 7 File/Sec: 0.57 System: linux Perl: 5.008008 Namazu: 2.0.17RC4 検索画面文字化けの対策 vi /etc/apache2/conf.d/charset AddDefaultCharset utf8 を AddDefaultCharset off 理由はよくわからない。 後は、このインデックス作成を定期的に実行するよう設定する。以下は毎日の例 /etc/cron.daily/namazu #!/bin/sh /usr/bin/mknmz --output-dir /usr/local/var/namazu/index /var/www/a /var/www/b |