日本語全文検索システムの構築
日本語全文検索システムnamazuをインストールし、クライアントからメールやhandbookの全文検索を利用できるようにしました。
softwareのInstall
(1) ja-kakasi-2.2.5のInstall
(b) Install
あとはkakasiのディレクトリへ移動し、makeするだけです。
# cd /usr/ports/japanese/kakasi
# make; make install
(2) namazu-1.2.0.8のInstall
(a)準備
全文検索システムnamazuのPageからnamazu-1.2.0.8のソース(namazu-1.2.0.8.tar.gz)を入手します。
そしてソースファイルを展開します。
% tar zxvf namazu-1.2.0.8.tar.gz
これで準備は完了です。
(b) Install
まず、ソースディレクトリへ移動し、configureを行います。
% cd namazu-1.2.0.8/src
% ./configure
次にMakefileの次の部分を変更します。
% vi Makefile
OPT_ADMIN_EMAIL webmaster@foo.bar.jp
のアドレスを実際に使用するMail Addressに変更する。
あとはmakeします。
% make
% su
# make install
最後にnamazu.cgiをapacheのcgi-binディレクトリへコピーしておきます。
# cp namazu.cgi /usr/local/www/cgi-bin/
(3) MHonArc-2.2.0のInstall
(a)準備
MHonArcはmailをHTMLに変換するツールです。今回は「日本語全文検索システムの構築と活用」(馬場 肇著・ソフトバンク株式会社)のCD-ROMに収録されていたソースを利用しましたが、最新版はMHonArcのホームページから入手できます。
また、MHonArc-2.2.0用の「日本語全文検索システムの構築と活用」で紹介されているpatchは「日本語全文検索システムの構築と活用」サポートページから入手出来ます。
今回は以下のpatchを入手し当てる事にしました。
必要なファイルが揃ったらソースファイルを展開します。
% tar zxvf MHonArc-2.2.0.tar.gz
出来たMHonArc-2.2.0ディレクトリに先程入手したpatchもコピーしておきましょう。
(b) Install
まず、patchを当てます。
% cd MHonArc-2.2.0
% patch -p0 < MHonArc-2.2.0-nkf.patch
% patch -p0 < MHonArc-2.2.0-baba.patch
あとはInstallします。
以上で、今回必要なソフトウェアのInstallは完了です。
運用例1(FAQ/handbookの検索)
FreeBSDでは、FAQやhandbook等のドキュメントが日本語訳されてhtml形式などで手に入れることが出来るようになっています。
これらを入手し、検索を行えるように設定してみます。
(1) 準備
日本語版handbook及び日本語版FAQのhtml形式を入手します。
そしてこれらをapacheのドキュメントルート下に適当なディレクトリを作成して展開します。
# mkdir /usr/local/www/data/doc/handbook
# cd /usr/local/www/data/doc/handbook
# tar zxvf handbook-html.tar.gz
# mkdir /usr/local/www/data/doc/FAQ
# cd /usr/local/www/data/doc/FAQ
# tar zxvf FAQ-html.tar.gz
(2) namazuのindexの作成
-------- /usr/local/www/cgi-bin/.namazurc -----------
INDEX /usr/local/namazu/index
REPLACE /usr/local/www/data/ http://www.foo.ne.jp/
LANG ja
SCORING TFIDF
-----------------------------------------------------
(b) 次にindex用のディレクトリを作成します。
(c) indexを作成します。
# mknmz -O /usr/local/namazu/index/handbook /usr/local/www/data/doc/handbook
# mknmz -O /usr/local/namazu/index/FAQ /usr/local/www/data/doc/FAQ
実際はmachineが非力な為にファイルリストを作成し、分割してインデックスを作成しました。
# cd /usr/local/namazu/index/handbook
# mknmz -F filelist1
:
# mknmz -F filelist5
(d) NMZ.*.jaの設定
indexを作成するとindexディレクトリ内に作成されるNMZ.head.jaとNMZ.foot.jaを少しカスタマイズしましょう。
具体的には、NMZ.head.jaのFORM部分にhandbookとFAQの両方を検索するために次のように追加します。
<INPUT TYPE="checkbox" NAME="dbname" VALUE="handbook" CHECKED>FreeBSD日本語handbook
<INPUT TYPE="checkbox" NAME="dbname" VALUE="FAQ" CHECKED>FreeBSD日本語FAQ
NMZ.foot.jaは自分の環境に合わせて適当に変更してください。
また、今回の場合、handbookを検索すれば、/usr/local/namazu/index/handbook/NMZ.*.jaが参照されますが、handbookとFAQの両方を検索すれば、/usr/local/namazu/index/NMZ.*.jaが参照されますので、NMZ.*.jaを/usr/local/namazu/indexディレクトリにコピーして必要に応じて書き替えておきましょう。
(3) 検索pageの作成と検索
NMZ.head.jaやNMZ.foot.jaを参考に検索pageを作成し、Apacheのドキュメントディレクトリに置きます。
あとは、その検索pageにブラウザでアクセスして検索を行うだけです。
検索pageの例はこちらです。
運用例2(mailing listのlog検索)
---------------------------------------------------------------------
#!/bin/sh
mhonarc -outdir /usr/local/www/data/mail/hoge \
-add -modtime -nomailto -multipg \
${HOME}/hoge.mbx
mknmz -O /usr/local/namazu/index/hoge /usr/local/www/data/mail/hoge
---------------------------------------------------------------------
戻る
Last Update 1999.07.29