[Index]

全文検索環境を整える(Namazu)


エディタ環境が整ったら、次は全文検索機能をNamazuで実装します。

Vine 1.1では、KAKASIとNamazuが最初から組み込まれているのでそのまま使えますが、いまでは、ちょっとバージョンが古いので、現時点の最新バージョンに入れ替えます。

まず、次のようにすると依存パッケージがある旨のエラーが表示されるので、それらをまとめてひっこ抜きます。(私の場合、Emacs系エディタからしか検索しないので...)

$ rpm -e namazu
同様にKAKASIのパッケージも抜いておきます。

KAKASI

関連パッケージを抜き終わったら、まずKAKASIをインストールします。 バージョン2.3.1にはkakasidictが同梱されていて、tarボールを展開すると、展開したディレクトリ下にkakasidictも展開されるので、次のようにインストールします。
$ tar zxvf kakasi-2.3.1.tar.gz
$ cd kakasi-2.3.1
$ ./configure
$ make
$ su
# make install

Namazuのインストール

~/srcにtarボールを置いて、次のようにインストールします。
$ tar zxvf namazu-2.0.1.tar.gz
$ cd namazu-2.0.1
$ ./configure
$ cd File-MMagic
$ perl Makefile.PL
$ make
$ su
# make install
# exit
$ cd ..
$ ./configure
$ make
$ su
# make install

Emacsから検索

Namazuには、Emacs系エディタから検索するためのメジャーモードが付属しています。

namazu-2.0.1/lisp/namazu.elというファイルがあるので、それを~/lib/emacsディレクトリにコピーします。

$ mkdir ~/lib/emacs
$ cp lisp/namazu.el ~/lib/emacs
また、Namazuの設定ファイルのサンプルを次のようにホームディレクトリにコピーします。
$ cp /conf/namazurc-sample ~/.namazurc
私の場合は、テキストベースのファイルを~/docs下で管理していて、そこにapacheのDocumentRootへのリンクを置いているので、.namazurcは次のようにしています。
Index    /home/hogehoge/index/docs
これで、インデックスファイルをmknmzで作成しておけば、Emacsから次のようにして検索できます。
M-x namazu
~/indexディレクトリの下は、次のようになっていてメールやプログラムソースを検索するときは、インデックスを明示的に切り替えます。
~/index --|-- docs
          |-- mail
          |-- devel
それでは、実際に検索してみます。XEmacsを起動し、M-x namazuして検索語を入力...???
Wrong type argument:stringp, nil
エラーが出ました。試しに、EmacsやMuleで実行しても結果は同じです。んん...

C-u M-x namazuとして明示的にインデックスファイルを指定するとうまく検索できます。OS入れ替えの前は、MuleでもXEmacsでも正しく動作してたので、Namazuのバージョンをその時に使用していたバージョンに置き換えてみました。

$ tar zxvf namazu-1.3.0.11.tar.gz
$ cd namazu-1.3.0.11/src
$ ./configure
$ vi Makefile
...
OPT_ADMIN_EMAILの修正
...
$ make
$ su
# make install
# cd /usr/local/namazu/lib
# cp namazu.conf-dist namazu.conf
# cp namazu.conf /home/hogehoge/.namazurc
結果はM-x namazuで正しく動作しました。 また、1.3.xでは、リンク先のデータをmknmzでインデックス化できましたが、2.0.xのmknmzでは出来ませんでした。
[TOP]