[pgsql-jp: 37999] [tsearch2]日本語のストップワード
SATO Hiroyuki
hiroyuki @ navitime.co.jp
2007年 2月 9日 (金) 23:33:25 JST
佐藤と申します。
tsearch2で日本語のストップワードを登録したく、調査している者です。
現在、強引ですが以下の手順で日本語のストップワードを登録できました。
PostgreSQL 8.2.3を使用しました。
(1) ロケール「ja_JP.UTF8」でinitdb
initdb --encoding=UTF-8 --locale=ja_JP.UTF8
(2) 'utf8_russian'のロケールを「ja_JP.UTF8」に変更
update pg_ts_cfg set locale='ja_JP.UTF8' where ts_name='utf8_russian';
(3) russian.stop.utf8に日本語のストップワードを登録
---- [start] log ----
# diff share/contrib/russian.stop.utf8{.orig,}
151a152,154
> の
> は
> です
---- [ end ] log ----
以下のようにストップワードが削除されました。
---- [start] log ----
test=# select to_tsvector('東京 の 天気 は 晴れ です');
to_tsvector
----------------------------
'天気':3 '晴れ':5 '東京':1
(1 row)
---- [ end ] log ----
日本語のストップワードを有効にするには「--locale=ja_JP.UTF8」でデータ
ベースクラスタの作成するしかないのでしょうか?(「--no-locale」で作成
した場合は日本語のストップワードは使用できないのでしょうか?)
また、上記のような強引な方法ではなく、もっとスマートな方法をご教授いた
だけましたら幸いです。
# 以下のドキュメントを読んでいる最中ですが、まだ十分理解できておりません。
http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
よろしくお願い致します。
--------
SATO Hiroyuki <hiroyuki @ navitime.co.jp>
pgsql-jp メーリングリストの案内