[pgsql-jp: 41102] Re: pg_trgmは正しく日本語を扱えるでしょうか?

Tomoaki Sato sato @ sraoss.co.jp
2012年 5月 11日 (金) 10:23:05 JST


佐藤です。

> MauMauといいます。お世話になります。
> 
> contrib/pg_trgmが日本語を正しく扱えるか、どなたかご存知でしたら教え
> ていただけますか?
> 次のページを見ると、trgm.hのKEEPONLYALNUMの定義を削除すれば、日本語
> の中間一致検索ができるとされています。
> 
> http://lets.postgresql.jp/documents/technical/text-processing/3#contains
> 
> しかし、次のページによると、9.1のリリース直前に、「pg_trgmはASCII英
> 数字を扱える」とマニュアルが変更されました。
> 
> http://archives.postgresql.org/pgsql-hackers/2011-09/msg00169.php
> 
> 前者の記事のようにして日本語を扱えるようにした場合、何か問題が発生し
> うるから正式マニュアルでは「ASCII英数字のみ」とされているのでしょう
> か?

ML でのやり取りにあるように、デフォルトでは英数字しか扱えないのにマニュ
アルに書いていないので付け足し、KEEPONLYALNUM については FAQ に載せる、
ということでしょう。

つまり、KEEPONLYALNUM をコメントアウトすれば、pg_trgm で日本語は正しく
扱えるということでしょう。

# pg_trgm は 3 文字以上でないと使えないので、日本語の検索には十分では
# ないですね。


----
Tomoaki Sato <sato @ sraoss.co.jp>
SRA OSS, Inc. Japan


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