[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 メーリングリストの案内