Namazuの設定

Web内を全文検索するためのツール「Namazu」をインストールしましょう。Namazuは高林哲氏が開発した日本語対応の全文検索エンジンです。ここでは、検索エンジンとしてNamazuを使用し、文書のフィルタリングに高橋裕信氏が開発したKAKASIを利用します。このKAKASIには分かち書きパッチを当てます。他にnkfも使用します。

1.nkfのインストール
portsからインストールしましょう。ja-nkf-1.71 がインストールされます。

# cd /usr/ports/japanese/nkf
# make install

2.KAKASIのインストール
これもportsからインストールします。ja-kakasi-2.3.3 がインストールされます。

# cd /usr/local/japanese/kakasi
# make install

これで分かち書きパッチと辞書も同時にインストールされます。

3.Text-Kakasiのインストール
ダウンロードしてソースからコンパイルします。

# tar zxvf Text-Kakasi-1.05.tar.gz
# cd Text-Kakasi-1.05
# perl Makefile.PL
# make; make install

3-1.Namazuのダウンロード
Namazuをダウンロードして/usr/local/src/に置きます。最新バージョンは2001年8月現在、2.0.6です。そして展開します。

# cd /usr/local/src
# tar zxvf namazu-2.0.6.tar.gz
# cd namazu-2.0.6

3-2.Namazuのmake
configureしてmakeします。makeの途中で失敗することがありますが、その場合はメッセージに従い指示されたどおりにします。そして、namazu.cgiをapacheのcgi-binディレクトリにコピーします。

# ./configure
# make
# make install
# cp /usr/local/libexec/namazu.cgi /usr/local/www/cgi-bin/

これで準備は整いました。

4.インデックスファイルの作成
次にインデックスファイルを準備します。デフォルトではインデックスファイルは、/usr/local/var/namazu/index ディリクトリーに置かれますので、そこでインデックスを作成します。

# cd /usr/local/var/namazu/index
# mknmz /usr/local/www/data/

これで数分から数十分後にインデックスが完成します。ここでメッセージに日本語が出ない場合は、環境設定を日本語に代える必要があります。僕の場合、/ /root /masao の各ディレクトリの.cshrcに次の1行を追加しました。

# ee .cshrc
-----
setenv LANG ja_JP.eucJP
-----

次に、毎朝4時30分にインデックスを作るようにcrontabを設定してみましょう。

# crontab -e
-----
30 4 * * * cd /usr/local/var/namazu/index ; /usr/local/bin/mknmz /usr/local/www/data > /dev/null 2>&1
-----

5..namazurcの書き換え
このままでも、ブラウザから、/cgi-bin/namazu.cgiにアクセスすれば検索可能なのですが、検索結果がディリクトリパスで表されるため、URLで表現されるように一部書き加えます。なお、スペースキーではなく、Tabキーでスペースを作って下さい。namazurc-sampleをコピーして書き換えます。

# cd /usr/local/etc/namazu
# cp namazurc-sample /usr/local/www/cgi-bin/.namazurc
# cd /usr/local/www/cgi-bin
# ee .namazurc
-----
Lang ja
Replace /usr/local/www/data/ http://www.fujie.org/
-----

また同時に、namazurcとmknmzrcも必要に応じて書き換えます。

# cd /usr/local/etc/namazu
# cp namazurc-sample namazurc
# ee namazurc
-----
Lang ja_JP.SJIS
-----
# cp mknmzrc-sample mknmzrc
# ee mknmzrc
-----

6.atok辞書の利用
これで完成ですが、KAKASIの辞書にatok辞書を合併してみましょう。まず、atok辞書のツールを利用して辞書をテキストファイルとして書き出します。このファイルをエディタなどで、eucコードで保存します(例:atok12.euc)。これを適当なディレクトリに(例:/tmp)に置きます。これをawkコマンドを使って、skkファイルに変換します。

# cd /tmp
# cat atok12.euc | awk '{print $1 " " $2}' > atok12.skk

これは、読み・漢字・品詞という順番で並んでいるatok12.eucを、読み・漢字という並び(skk形式)に変換するものです。この新しくできたatok12.skkをkakasiのsrcディレクトリにcopyし、kakasiのツールである、mkkanwaを利用して合併します。

# mkkanwa kanwadictのパス 辞書ファイル1 辞書ファイル2・・・
# cd /tmp
# cp atok12.skk /usr/local/share/kakasi/
# mkkanwa /usr/local/share/kakasi/kanwadict atok12.skk

これでマージされた新しい辞書ができます。

TOP PAGE