LANDISK HACKING DIARY
Since2005/8/17
TOPへ戻る
     INDEX
   
1. namazu のインストール
2. namazu の設定



 
     namazu のインストール
 
namazu について解説します。まず、namazu の最新版(執筆時点でnamazu.2.0.16)を使うために、/etc/apt/sources.list に以下の2行を加えておこう。

# vi /etc/apt/sources.list

# binary
deb http://www.namazu.org/debian sarge main
# source
deb-src http://www.namazu.org/debian sarge main

# apt-get update

さっそく、apt-get でインストール。とりあえず、以下のパッケージをインストールする。依存関係で複数の関連パッケージが自動的にインストールされる。

# apt-get install namazu2 namazu2-index-tools libtext-kakasi-perl kakasi

もし、自動的にインストールされなかったパッケージがある場合には、以下のパッケージがインストールされているかどうか確認しておく。

# apt-get install kakasi
# apt-get install kakasi-dic
# apt-get install libkakasi2
# apt-get install libtext-kakasi-perl
# apt-get install libnmz7
# apt-get install namazu2
# apt-get install namazu2-common
# apt-get install namazu2-index-tools


 
     namazu の設定
 
namazurc と mknmzrc を編集していく。
その前に、namzurc をドキュメントルート以下の cgi-bin ディレクトリ内に .namazurc としてコピーしておく。
また、namazu.cgi も cgi-bin ディレクトリ内にコピーしておこう。

# cp /etc/namazu/namazurc /home/www/public_html/cgi-bin/.namazurc
# cp /usr/lib/cgi-bin/namazu.cgi /home/www/public_html/cgi-bin/

.namazurc を編集する。各パラメータの意味や説明は省くが、筆者は大まか以下の通りに設定している。注意したいのは、LANG の1行。ここの値を適切に設定していないと、namazu で検索した際の検索結果が完全に日本語表示とならないから注意してほしい。LANGは、各OSの環境によって異なるが、debian の場合は、ja_JP.eucJP としておけば問題ないだろう。だが、環境変数(LANG、LC_MESSAGESなど)をデフォルト値から変更して、en_US.UTF-8 などと設定している場合は、環境変数の方が優先されてしまうこともあるようなので、これも留意しておきたいところだ。

# vi /home/www/public_html/cgi-bin/.namazurc

Index /usr/local/var/namazu/index
Template /usr/local/var/namazu/index
Replace /home/www/public_html http://landisk.kororo.jp
Lang ja_JP.eucJP
EmphasisTags "<strong class=\"keyword\">" "</strong>"
MaxHit 300

上記の通り、.namazurc で Lang ja_JP.eucJP と設定したが、筆者の場合は、namazu の検索結果が日本語表示になってくれなかった。いろいろ試みたが、何度やっても以下のような英語表示になってしまい、これに半日近くはまったのでメモしておくことにする。

◎namazu の検索結果が英語になってしまう
Results:

References: [ samba: 65 ]

Total 65 documents matching your query.

~~~省略~~~

Current List: 1 - 20
Page: [1] [2] [3] [4]


調べてみたところ、namazu.cgi と locale が別々のドライブ(別々のパーティション)にある場合は、検索結果が英語表示となってしまうらしい。筆者の場合、namazu.cgi が置かれている /home/www/public_html/cgi-bin/namazu.cgi と locale が置かれている/usr/share/locale は別々のパーティションで区切られていたため、これが原因であることがわかった。解決方法としては、locale を namazu.cgi と同様のディレクトリにコピーするか、もしくは、apache2 の設定で、以下の1行を追加し、apache2を再起動すればよい。

# vi /etc/apache2/sites-available/landisk.kororo.jp

SetEnv NAMAZULOCALEDIR /usr/share/locale

# /etc/init.d/apache2 restart

これで、以下のようにnamazu で検索した際の検索結果が正常に日本語表示となる。

検索結果

参考ヒット数: [ samba: 65 ]

検索式にマッチする 65 個の文書が見つかりました。

~~~省略~~~

現在のリスト: 1 - 20
ペイジ: [1] [2] [3] [4]


mknmzrc も編集しておく。2行目は、インデックスに含めない拡張子を列挙している。

# vi mknmzrc

$ADDRESS = '';
$DENY_FILE = ".*\\.(gif|png|jpg|jpeg|log|dat|css|cgi|pl)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";
$MAX_FIELD_LENGTH = 400;

以上で、設定はほぼ完了だ。あとは、以下のリンクから筆者が以前に記述した文献を参考にしてほしい。

⇒説明の続きはこちらへ

改訂 Namazuシステムの構築と活用
改訂 Namazuシステムの構築と活用
Apache Lucene 入門 ~Java・オープンソース・全文検索システムの構築
Apache Lucene 入門 ~Java・オープンソース・全文検索システムの構築
Debian 辞典Desktop reference
Debian 辞典Desktop reference
   






TOPへ戻る
 
Copyright © KORO All Rights Reserved.