[pgsql-jp: 38003] Re: [tsearch2]日本語のストップワード

SATO Hiroyuki hiroyuki @ navitime.co.jp
2007年 2月 11日 (日) 16:12:07 JST


佐藤です。

> --no-localeでも日本語のストップワードを使えるようにするパッチを作って
> みました.8.2.3用です. share/contrib/english.stop に日本語のストップ
> ワードを登録してみましたが,使えるようになったようです.

石井さん、ありがとうございます。

「EUC-JP」および「UTF-8」で期待通り動作することを確認しました。

ブログも拝見いたしました。解説ありがとうございます。

http://postgresql.at.webry.info/200702/article_3.html


追伸:

辞書ファイルの文字セットは、データベースの文字セットと同一でなければな
らないようです。例えば、「createdb -E EUC_JP」で作成したデータベースが
UTF-8の辞書を参照するようになっていると、以下のエラーとなりました。

test.euc=# select to_tsvector('東京 の 天気 は 晴れ です');
ERROR:  invalid byte sequence for encoding "EUC_JP": 0xe381
HINT:  This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".

異なる文字セットのデータベースを作成する必要がある場合、それぞれのデー
タベースでその文字セットの辞書を参照するようにすればOKでした。

update pg_ts_dict set dict_initoption='contrib/japanese.stop.euc' where 'en_stem'=dict_name;




pgsql-jp メーリングリストの案内