[Namazu-users-ja 1269] Re: namazu で日本語文字の検索が出来ません

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2013年 7月 20日 (土) 22:08:55 JST


寺西です。

(2013/07/20 20:51), &1 wrote:
>  先日からnamazuを使おうとインストールしたのですが、日本語文字の検索が
> 出来ないので教えてください。
...
>  最初、mknmzで上手くpdfファイルの内部を検索して日本語単語を見つけてくれなかっ
> たのですが
> google検索でnkfの存在を確認した上でmknmzrcに#を取って$NKF="/usr/bin/nkf";を
> 有効にしろという情報を得て修正。

nkf を使うように設定を変更しても動きはしますが、
Namazu 2.0.21 のデフォルトでは、NKF Perl モジュール
を使うように設定されていますので、NKF Perl モジュールを
インストールされてそれを使うようすることをお勧めします。

NKF Perl モジュールを使う方が処理速度が速いので。

>  ところがnamazu 試験 /usr/local/var/namazu/index/centos|nkf -wとすると検索に
> 失敗。

nkf -w が何をしているかご存じでしょうか?

UNIX の場合、namazu コマンドの出力は EUC-JP で出力されます。
これを nkf -w にパイプで渡すと UTF-8 に変換して、端末に出力され
ます。ということは、端末の漢字コードは UTF-8 で使っている
ということが推測できます。

端末の漢字コードが UTF-8 ということは、検索文字列に指定した
日本語も UTF-8 だということになります。
残念ながら namazu コマンドは UTF-8 に対応していませんので、
これでは正しく処理できません。

いろいろ方法はありますが、王道なのは
環境変数 LC_ALL 等を ja_JP.eucJP に設定して EUC-JP 環境で
namazu を使うことです。そうすれば

$ namazu 試験 /usr/local/var/namazu/index/centos

で検索できるでしょう。

それでダメなら端末の漢字コードが EUC-JP になっているかどうか
確認しましょう。
LC_ALL 以外の環境変数も下記の内容を確認した上で正しく設定
しましょう。

http://www.namazu.org/doc/tutorial.html#japanese

>  namazurcでの言語設定を探しましたがLang jaがコメントアウトされている状態でも
> Lang ja_JP.eucJPにしても変わりません。

環境変数の設定を行った上で

$ namazu -C

の結果を確認してください。
使用する言語(Lang): が ja_JP.eucJP になっていて、メッセージ
も文字化けしていなければ OK です。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E


Namazu-users-ja メーリングリストの案内