お世話になります。
PostgreSQLで以下のsqlを発行した場合の結果についてご教示いただきたくご質問させていただきます。
環境
OS:ubuntu16.04
PostgreSQL:version9.5
pgroonga :postgresql-9.5-pgroongaパッケージを使用
例として以下のテーブルがあるとして、nameには日本語、英語混在の名前が登録されています。
マルチバイト全文検索対応としてpgroongaのINDEXをnameに作成しています。
table:test
Column | Type | Collation | Nullable |
------------------+--------------------------+-----------+----------+-------
id | integer | | not null |
section_code | character varying(8) | | not null |
name | text | | not null |
kana | text | | not null |
at_date | timestamp with time zone | | |
このname中で「foo」を検索したいと思います。
SQL
1SELECT name FROM test WHERE name &@ 'f'; 2または 3SELECT name FROM test WHERE name LIKE '%f%';
上記のSQLでは、両方とも「foo」は検索にヒットしません。
しかし「f-oo」のような場合はヒットします。
SQL
1SELECT name FROM test WHERE name &@ 'fo'; 2または 3SELECT name FROM test WHERE name LIKE '%fo%';
「fo」2文字にすると検索にヒットします。
この検索結果については、おそらく私が知らないだけで、そういう仕様なのかとも思うのですが・・・、検索可能にする方法等があればご指導いただきたくお願いするしだいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/17 03:25