須藤です。 In <a673c****@yahoo*****> "[groonga-dev,04704] Re: PGroongaでTokenFilterStopWordを使うと検索がヒットしない" on Thu, 1 Nov 2018 19:40:02 +0900, 川上 <hakuh****@yahoo*****> wrote: > 「kawa.kami」という検索対象文字列がDBに保存されており、「kawakami」と > 検索してもヒットさせたいのですが、 あぁ、そういうことですか。 であれば、pgroonga_query_expandは向いていませんでした。 すみません。 そういうやつならノーマライザーで「.」を無視するのがいいんで すが、そういうノーマライザーはないんですよねぇ。 PostgreSQLレベルでやるなら、こんな感じで式インデックスを使い ます。 CREATE TABLE item ( name TEXT ); INSERT INTO item VALUES ('kawa.kami'); CREATE INDEX pgroonga_item_name_idx ON item USING pgroonga ((regexp_replace(name, '\.', ''))); SELECT count(*) FROM item WHERE regexp_replace(name, '\.', '') &@~ regexp_replace('kawakami', '\.', ''); -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <https://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ データ処理ツールの開発: https://www.clear-code.com/blog/2018/7/11.html