このメモは、日本語の全文検索システムとして広く利用されている Namazu をソースからインストールしたときのメモです。
最近、Namazu をもっと簡単にインストールすることを目指すプロジェクトとして、Kabayaki があります。楽をしたい人はそちらからバイナリパッケージなどをダウンロード、インストールを行った方がいいかもしれません。また、VineLinux などでは、最初から Namazu がインストールされていますので、特別な理由がない限りソースからインストールする必要はありません。
このメモは、RedHat Linux 7.3 で作成しました。ソースからインストールを行っていますので、Unix 系の OS であれば、同じような手順でインストールできると思います。
ただし、ツールのバージョンの変更や、OS の固有の設定などの違いにより、このメモの通りに操作しても、うまくいかないことがあるかもしれません。
また、ソースの取得に wget
を使用していますが、ブラウザなどで普通にダウンロードしても何も問題はありません。ツールがバージョンアップをした場合、wget
で指定するファイルがなくなり、ソースを取得できなくなる可能性があります。ダウンロードするファイルは、各 Web ページで確認してからダウンロードした方が安全です。
このメモは個人的な備忘録ですので、分かりにくい点や間違いなどがあるかもしれません。何か気になった点などがありましたら、メールで指摘をお願いします。
全文検索システム Namazu のインストールメモ 目次
Namazu は、日本語のインデックスを作成する際に日本語の分かち書きを行うツールを使用します。Namazu が使用できるツールとしては、茶筌と KAKASI があります。どちらか片方でも特に問題はありませんが、両方ともインストールおくと、どちらを使用するか選択できます。
茶筌は、奈良先端科学技術大学院大学自然言語処理学講座 からリリースされているフリーの日本語形態素解析器です。日本語の文章を品詞に分解することができます。
wget
により、2002年11月時点の最新版である、2.2.9 を取得していますが、新しいバージョンが公開されているかもしれません。最新版は、http://chasen.aist-nara.ac.jp/index.html.ja で確認してください。
$ wget http://chasen.aist-nara.ac.jp/stable/chasen/chasen-2.2.9.tar.gz $ tar zxvf chasen-2.2.9.tar.gz $ cd chasen-2.2.9 $ ./configure --disable-shared $ make $ sudo make install
ipadic は、茶筌で使用する日本語辞書です。 最新版は、http://chasen.aist-nara.ac.jp/index.html.ja で確認してください。
$ wget http://chasen.aist-nara.ac.jp/stable/ipadic/ipadic-2.4.4.tar.gz $ tar zxvf ipadic-2.4.4.tar.gz $ cd ipadic-2.4.4 $ ./configure $ make $ sudo make install
Text::ChaSen は、茶筌を perl から利用するためのモジュールです。最新版は、http://www.daionet.gr.jp/~knok/chasen/ で確認してください。
$ wget http://www.daionet.gr.jp/~knok/chasen/Text-ChaSen-1.03.tar.gz $ tar zxvf Text-ChaSen-1.03.tar.gz $ cd Text-ChaSen-1.03
ソースを展開した後、Makefile.PL を編集します。以下の内容が書かれている行を修正して、
'LIBS' => ['-lchasen']
libchasen.a の存在する /usr/local/lib を指定します。通常、ソースから茶筌をインストールした場合は、/usr/local/lib になりますが、設定変更を行っている場合は find
や locate
コマンドで調べて、そのパスを使用してください。
'LIBS' => ['-L/usr/local/lib -lchasen']
以下のように make
とインストールを行います。
$ perl Makefile.PL $ make $ sudo make install
KAKASI は、"kanji kana simple inverter" の略で、漢字かなまじり文をひらがな文やローマ字文に変換することを目的として作成されたプログラムと辞書の総称です。
最新版は、http://kakasi.namazu.org/ から確認してください。
$ wget http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz $ tar zxvf kakasi-2.3.4.tar.gz $ cd kakasi-2.3.4 $ ./configure $ make $ sudo make install
KAKASIを perl から利用するためのモジュールです。最新版は、http://www.daionet.gr.jp/~knok/kakasi/ から確認してください。
$ wget http://www.daionet.gr.jp/~knok/kakasi/Text-Kakasi-1.05.tar.gz $ tar zxvf Text-Kakasi-1.05.tar.gz $ cd Text-Kakasi-1.05 $ perl Makefile.PL $ make $ sudo make install
Namazu は、日本語の全文検索システムです。Namazu をインストールする前に茶筌か KAKASI のどちらかをインストールしておく必要があります。
Namazu の最新版は http://www.namazu.org/ から確認してください。Namazu のページには、配布アーカイブに GnuPG
による電子署名や、md5sum
によって取得したバイナリが正しいかどうかを確かめることができるようになっています。
namazu-2.0.12.tar.gz の MD5sum は、Namazu のページによると、以下のようになっていますので、md5sum
コマンドで確認しておいた方がいいと思います。( MD5sum については、Namazu の配布元ページで確認した方が安全です )
namazu-2.0.12.tar.gz (約 870 KB) (MD5sum: 516bf2d732230184814761cd1ae20d6c)
以下のようにインストールします。
$ wget http://www.namazu.org/stable/namazu-2.0.12.tar.gz $ tar zxvf namazu-2.0.12 $ cd namazu-2.0.12 $ ./configure $ make $ sudo make install
茶筌と KAKASI がインストールされているか、configure 実行中に、以下のようなチェックが入ります。
インストールしていないか、失敗した場合は、no と出ますので、その時は、再度インストールし直してください。
checking for Text::Kakasi perl module... yes checking for Text::ChaSen perl module... yes
File-MMagic がインストールされていないと Namazu の configure
中にエラーが発生するため、Namazu のインストール中に、コンパイルが中断されることがあります。
OS のインストール時に、既にインストールされている場合はエラーは発生しません。エラーが発生して、中断した場合は、指示に従って以下のように File-MMagic をインストールして下さい。インストール終了後、Namazu のインストールを続行してください。
$ cd File-MMagic $ perl Makefile.PL $ make $ sudo make install
Namazu のインストールが完了すると、以下のようなディレクトリやファイルが作成されます。
/usr/local/bin/namazu : Namazu 実行コマンド /usr/local/bin/mknmz : Namazu インデックス作成コマンド /usr/local/var/namazu/index/ : Namazu インデックス格納ディレクトリ /usr/local/etc/namazu/ : Namazu 環境設定ディレクトリ /usr/local/etc/namazu/namazu-sample : Namazu 環境設定ファイルのサンプル /usr/local/libexec/namazu.cgi : Namazu CGI 実行コマンド
まず、環境設定ファイルのサンプル /usr/local/etc/namazu/namazu-sampleが作成されていますのでコピーします。
$ sudo cd /usr/local/etc/namazu/; cp namazurc-sample namazurc $ sudo vi /usr/local/etc/namazu/namazurc
日本語で使用するために以下の設定をしておくと良いと思います。また、namazurc ファイルを編集することで、デフォルトで使用するインデックスディレクトリなどの変更も行うことができます。詳しい説明は、namazurc-sample にも書かれていますので、そちらを参考にしてください。
Lang ja
namazu.cgi を使って Web 上から検索することを考えている場合は、namazurc に以下の指定を加えておくと、インデックス作成時に、ファイルパスがWeb 上のパスになっているので、扱いやすいかもしれません。<ドメイン名または IP アドレス>の部分は、環境に合わせて変更してください。
Replace /home/(.*)/public_html/ http://<ドメイン名または IP アドレス>/~\1/ Replace /usr/local/apache/htdocs/ http://<ドメイン名または IP アドレス>/
Namazu のインストールが成功したら、検索対象の文書に対して、検索のためのインデックスを作成します。まず、インデックスを置くディレクトリを作成し、mknmz
コマンドでインデックスを作成します。
オプションとして、検索対象のディレクトリのファイルが HTML ファイルの場合、--media-type
にtext/html
を与えると、早くインデックス化の作業が終了します。
-c
オプションは、茶筌を使用することを明示的に指示します。また、-k
オプションでは、KAKASI を使用してインデックスを作成します。その他のオプションは、mknmz
--help
で確認してください。
例えば、ユーザのホームディレクトリの public_html にある HTML ファイルを、茶筌を使用してインデックスを作成する場合は、以下のようにします。
$ cd /usr/local/var/namazu/index $ sudo mknmz --media-type=text/html -c /home/<ユーザ名>/public_html/
インデックスを置くディレクトリに移動してからインデックスを作成する mknmz
を実行します。初期設定では、 namazu
コマンドは、/usr/local/var/namazu/index/ をインデックスディレクトリとしていますので、そこに移動してからインデックスを作成します。インデックスディレクトリを変更したい場合は /usr/local/etc/namazu/namazurc の設定を変更します。
インデックスを作成すると、namazu
コマンドを使用した検索が可能になります。namazu
コマンドは以下のように使用します。
$ namazu <検索文字列>
コマンドを実行すると、ヒット数、日付、ファイルがある場所などの検索結果が出力されます。検索文字列の後ろに、インデックスディレクトリを指定することもできます。インデックスを namazurc で指定した場所以外に作成した場合は namazu
コマンドから指定する必要があります。
Namazu には、CGI として利用する namazu.cgi
が付属しています。インデックスを作成した後は、namazu.cgi を使用して、Web 上から検索を行うこともできます。namazu.cgi
は、/usr/local/libexec/ にインストールされていますので、cgi が使えるディレクトリにコピーする必要があります。
コピー先は、/usr/local/apache/cgi-bin/ などの CGI の実行が許されている場所でないと namazu.cgi は使用できません。CGI の実行の設定については、Apache などのWeb サーバで行う必要があります。
$ sudo cp /usr/local/libexec/namazu.cgi /usr/local/apache/cgi-bin/
ブラウザでアクセスしてみて、Namazu による全文検索システムの画面が表示されれば成功しています。後は、検索式に、適当な検索文字列を入力して、結果が表示されれば、設定は終了です。その他の詳しいことは、Namazu マニュアルの namazu.cgi の項を参照してください。
この章は、PHP 拡張モジュール(PECL)のメモ の PHP のモジュールとして Namazu を組み込むに移動させました。
ドキュメントの整理でリンクの修正などを行いました。その他、誤字、脱字の修正などを行いました。
誤字の修正と PHP モジュールとして Namazu を組み込むという章を PHP のインストールメモの方に移動しました。
初版作成。公開。