Kouhei Sutou
kou****@clear*****
2013年 8月 7日 (水) 10:52:29 JST
須藤です。 In <15454****@web10*****> "[groonga-dev,01576] Re: 特殊記号混じりの前方一致検索について" on Wed, 7 Aug 2013 02:26:41 +0900 (JST), <mail_babir****@yahoo*****> wrote: > あと、またこじつけ的ですが、もともとmroongaはmroonga_match_escalation_thresholdがデフォルトで0なので、ヒット件数が0件なら検索条件を緩くして再検索していくような作りだと思います。 > > これに対して、特殊文字のパースエラー1回で検索を停止してしまうのは、このあたりの作りに反しているような印象も受けます。 > (そうは言いつつも、タグ検索の用途でエスカレーションすると困るので、手元の環境では基本的に-1にしていたいりますが・・・) あぁ、たしかに言われてみるとそんな気がしますね。 > あと、エスケープ関数やmroonga_strip_special_characters関数を使う作りになるならば、第二引数に有効にする特殊文字(あるいは無効にする特殊文字)を指定できるような使い方ができると、使い手に判断を任せることができるので、良さそうです。 > > 頻度は使い手によるとは思うのですが、「()<>~」が使われるのはかなり稀で、それに比べて「+-*」はin boolean modeを使う場合は、かなり頻繁に使われるかと思います。 > > 「+-*」のみが有効ならば、これらの特殊文字が並ばない限りはエラーが出ないようなので、「()<>~」を無効化できれば、だいたいの用途では希望する動作になるのではないかと考えています。 おぉ、それはよさそうな気がします。そしたらmroonga_escape()だ けあればいいですね。 その方向で実装するようにします! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html