全文検索システム Namazu のインストールメモ

HOME | メモ一覧 | LastUpdate: 2004-07-30

説明と環境

このメモは、日本語の全文検索システムとして広く利用されている Namazuソースからインストールしたときのメモです。

最近、Namazu をもっと簡単にインストールすることを目指すプロジェクトとして、Kabayaki があります。楽をしたい人はそちらからバイナリパッケージなどをダウンロード、インストールを行った方がいいかもしれません。また、VineLinux などでは、最初から Namazu がインストールされていますので、特別な理由がない限りソースからインストールする必要はありません。

このメモは、RedHat Linux 7.3 で作成しました。ソースからインストールを行っていますので、Unix 系の OS であれば、同じような手順でインストールできると思います。

ただし、ツールのバージョンの変更や、OS の固有の設定などの違いにより、このメモの通りに操作しても、うまくいかないことがあるかもしれません。

また、ソースの取得に wget を使用していますが、ブラウザなどで普通にダウンロードしても何も問題はありません。ツールがバージョンアップをした場合、wget で指定するファイルがなくなり、ソースを取得できなくなる可能性があります。ダウンロードするファイルは、各 Web ページで確認してからダウンロードした方が安全です。

このメモは個人的な備忘録ですので、分かりにくい点や間違いなどがあるかもしれません。何か気になった点などがありましたら、メールで指摘をお願いします。


目次

全文検索システム Namazu のインストールメモ 目次

  1. 説明と環境
  2. Namazu で使用するモジュールのインストール
    1. 茶筌(chasen) のインストール
    2. ipadic のインストール
    3. Text::ChaSen のインストール
    4. KAKASI のインストール
    5. Text::Kakasi のインストール
  3. 全文検索システム Namazu のインストールと設定
    1. namazu のインストール
    2. Namazu のインストール中に失敗した場合
    3. Namazu の環境設定
    4. Namazu インデックス作成
    5. namazu を使った文書検索
  4. namazu.cgi を利用する
  5. PHP のモジュールとして Namazu を組み込む
  6. 更新履歴

Namazu で使用するモジュールのインストール

Namazu は、日本語のインデックスを作成する際に日本語の分かち書きを行うツールを使用します。Namazu が使用できるツールとしては、茶筌と KAKASI があります。どちらか片方でも特に問題はありませんが、両方ともインストールおくと、どちらを使用するか選択できます。

1. 茶筌(chasen) のインストール

茶筌は、奈良先端科学技術大学院大学自然言語処理学講座 からリリースされているフリーの日本語形態素解析器です。日本語の文章を品詞に分解することができます。

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

2. ipadic のインストール

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

3. Text::ChaSen のインストール

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 になりますが、設定変更を行っている場合は findlocate コマンドで調べて、そのパスを使用してください。

'LIBS' => ['-L/usr/local/lib -lchasen']

以下のように make とインストールを行います。

$ perl Makefile.PL
$ make
$ sudo make install

4. KAKASI のインストール

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

5. Text::Kakasi のインストール

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 のインストールと設定

1. namazu のインストール

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

2. Namazu のインストール中に失敗した場合

File-MMagic がインストールされていないと Namazu の configure 中にエラーが発生するため、Namazu のインストール中に、コンパイルが中断されることがあります。

OS のインストール時に、既にインストールされている場合はエラーは発生しません。エラーが発生して、中断した場合は、指示に従って以下のように File-MMagic をインストールして下さい。インストール終了後、Namazu のインストールを続行してください。

$ cd File-MMagic
$ perl Makefile.PL
$ make
$ sudo make install

3. Namazu の環境設定

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 アドレス>/

4. Namazu インデックス作成

Namazu のインストールが成功したら、検索対象の文書に対して、検索のためのインデックスを作成します。まず、インデックスを置くディレクトリを作成し、mknmz コマンドでインデックスを作成します。

オプションとして、検索対象のディレクトリのファイルが HTML ファイルの場合、--media-typetext/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 が付属しています。インデックスを作成した後は、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 のモジュールとして Namazu を組み込む

この章は、PHP 拡張モジュール(PECL)のメモPHP のモジュールとして Namazu を組み込むに移動させました。

▲ 目次へ戻る


更新履歴

( 2004.07.30 )

ドキュメントの整理でリンクの修正などを行いました。その他、誤字、脱字の修正などを行いました。

( 2003.03.16 )

誤字の修正と PHP モジュールとして Namazu を組み込むという章を PHP のインストールメモの方に移動しました。

( 2002.12.15 )

初版作成。公開。

▲ 目次へ戻る

LastUpdate: 2004-07-30 | メモ一覧 | HOME