[groonga-dev,02602] Re: [mroonga] asterisk wildcard operator

アーカイブの一覧に戻る

Kouhei Sutou kou****@clear*****
2014年 8月 11日 (月) 18:03:45 JST


須藤です。

In <CA+e43RO4vm1-30X0PCsFpd-6eoVvtCGDf9w_AaFs0EU+0O0_XQ****@mail*****>
  "[groonga-dev,02599] Re: [mroonga] asterisk wildcard operator" on Mon, 11 Aug 2014 17:28:32 +0900,
  warp kawada <warp.****@gmail*****> wrote:

> あー、なるほど。じゃ、mregexp が使えれば、
> 
> MATCH(..) AGAINST ('*D+ 中国 外国' IN BOOLEAN MODE) AND .. mregexp(...,
> '中国..外国')
> 
> が出来そうですね。でも、mregexp が動いてくれないんですけね (涙
> 
> 例が悪かったです。
> 「中国日本外国」や「中国人外国」をヒットさせたいのです。

普通のSQLだとできないんですけど、Groongaの機能を使えばできる
んですよねぇ。

「column *N "中国 外国"」みたいに書ける近傍検索演算子という
のがあるんですけど、

  http://groonga.org/ja/docs/reference/grn_expr/script_syntax.html#near-search-operator

これを使うと期待する挙動になると思います。

「中国」と「外国」の間に何文字までOKかはカスタマイズできない
んですけど。。。今は常に10文字(あるいは10単語)です。
独自の演算子じゃなくて関数にした方がよさそうですねぇ、これ。


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
  http://www.clear-code.com/services/code-reader/




groonga-dev メーリングリストの案内
アーカイブの一覧に戻る