[groonga-dev,04558] Re: 演算子&@~ 使用時の""内のスペースの挙動について

Back to archive index

satou****@nttda***** satou****@nttda*****
2017年 12月 20日 (水) 17:23:07 JST


須藤様



お世話になっております。佐藤です。



ご回答ありがとうございました。

正規化は実施したいため、

>正規化はしたい、という場合の別案は、次のリリースで入る予定の

>pgroonga_normalize()関数を組み合わせるというものがあります。

この回答通り、この関数の仕様を検討してようと思います。



この度はありがとうございました。

またよろしくお願いいたします。



-----Original Message-----
From: groon****@lists***** [mailto:groon****@lists*****] On Behalf Of Kouhei Sutou
Sent: Wednesday, December 20, 2017 11:19 AM
To: groon****@lists*****
Subject: [groonga-dev,04557] Re: 演算子&@~ 使用時の""内のスペースの挙動について



須藤です。



In <03295****@MP-MS*****<mailto:03295****@MP-MS*****>>

  "[groonga-dev,04556] 演算子&@~ 使用時の""内のスペースの挙動について" on Tue, 19 Dec 2017 06:28:20 +0000,

  <satou****@nttda*****<mailto:satou****@nttda*****>> wrote:



> 検索用SQLでは、"te st"をしているため、teとstの間に半角スペースが入っているもののみが指定されることを期待しています。

> しかし、結果は半角スペースが入っていないもの(test.xlsx)もヒットしています。

> これは、仕様なのでしょうか。



はい、仕様です。

「&@~ '"te st"'」はフレーズ検索なのですが、このフレーズ検索

は「te」のあとに連続して「st」が出現する、という意味になりま

す。半角スペースも含んで「te st」が出現する、という意味では

ないのです。



期待する挙動にする方法ですが、



CREATE INDEX xxx

  ON sample.sample

  USING pgroonga(file_name)

  WITH (tokenizer='TokenBigramSplitSymbolAlphaDigit',

        normalizer='none');



というようにnormalizer='none'を指定してください。

これで、文字の正規化機能が無効になり、トークナイザーが半角ス

ペースを認識できなくなるので、半角スペースも他の文字と同じ扱

いになります。つまり、半角スペースも含んで「te st」を検索す

ることになります。



ただ、正規化機能が無効になるので、「Te st」のように大文字小

文字が違うとヒットしなくなります。





正規化はしたい、という場合の別案は、次のリリースで入る予定の

pgroonga_normalize()関数を組み合わせるというものがあります。



CREATE INDEX xxx

  ON sample.sample

  USING pgroonga(pgroonga_normalize(file_name))

  WITH (tokenizer='TokenBigramSplitSymbolAlphaDigit',

        normalizer='none');



として、



select * from sample.sample

  where pgroonga_normalize(file_name) &@~(('"te st"'))



と検索します。



これで「Te st」でもヒットします。





--

須藤 功平 <kou****@clear*****<mailto:kou****@clear*****>>

株式会社クリアコード <http://www.clear-code.com/>



Groongaベースの全文検索システムを総合サポート:

  http://groonga.org/ja/support/

パッチ採用 - プログラミングが楽しい人向けの採用プロセス:

  http://www.clear-code.com/recruitment/

OSS開発支援サービス:

  http://www.clear-code.com/blog/2016/6/27.html



_______________________________________________

groonga-dev mailing list

groon****@lists*****<mailto:groon****@lists*****>

https://lists.osdn.me/mailman/listinfo/groonga-dev


-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: https://lists.osdn.me/mailman/archives/groonga-dev/attachments/20171220/9257a0eb/attachment.htm 



groonga-dev メーリングリストの案内
Back to archive index