[groonga-dev,02862] Re: BOOLEAN MODEの+とか-の意味

Back to archive index

Kouhei Sutou kou****@clear*****
2014年 10月 24日 (金) 17:52:09 JST


須藤です。

In <5449E****@fdiar*****>
  "[groonga-dev,02861] Re: BOOLEAN MODEの+とか-の意味" on Fri, 24 Oct 2014 07:45:49 +0200,
  Kazuhiko <kazuh****@fdiar*****> wrote:

>> このパッチを当てた時の挙動はどう思いますか?
>> 
>> --
>> diff --git a/ha_mroonga.cpp b/ha_mroonga.cpp
>> index dd9967d..c105a62 100644
>> --- a/ha_mroonga.cpp
>> +++ b/ha_mroonga.cpp
>> @@ -7678,7 +7678,7 @@ grn_rc ha_mroonga::generic_ft_init_ext_prepare_expression_in_boolean_mode(
>>  
>>    const char *keyword, *keyword_original;
>>    uint keyword_length, keyword_length_original;
>> -  grn_operator default_operator = GRN_OP_OR;
>> +  grn_operator default_operator = GRN_OP_ADJUST;
>>    grn_bool weight_specified = false;
>>    keyword = keyword_original = key->ptr();
>>    keyword_length = keyword_length_original = key->length();
>> --
>> 
>> 手元だとこんな感じになりました。
> 
> こちらでも試してみました。このパッチをあてた挙動だと、”must / must not"
> と書いてあるMroongaのドキュメントにもMySQLのドキュメントにも整合してい
> て、かつ、私がboolean modeに期待する挙動にも一致します。

確認ありがとうございます。

できれば、他の人にも次の観点で確認して欲しいんですが、
Mroongaを使っている人は協力してもらえませんか?

  * MySQLのドキュメントが示す挙動と同じ挙動か
    (網羅的だとうれしい)
  * MyISAMの挙動と同じ挙動か
    (網羅的だとうれしい。スコアの値の多い少ないは関係ない。)
  * InnoDBの挙動と同じ挙動か
    (網羅的だとうれしい。スコアの値の多い少ないは関係ない。)

別にカンペキにMySQLのドキュメントや他のストレージエンジンと
同じ挙動になっていなくてもいいとは思うのですが、近い方がよさ
そうですし、違うならどう違うかはまとまってあるとうれしそうだ
と思っています。

が!自分でパッチ当ててビルドして動かしてみてね、は敷居が高い
ですよねぇ。変数で挙動を切り替えられるようにしておくといいの
かしら。


あ、この変更は後方互換性が壊れるので、4.X系にはいれないです。
変数で切り替えられるようにしても、デフォルトではこれまでと同
じ挙動にします。

変更するにしても5.00をリリースしたタイミングになります。


-- 
須藤 功平 <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 メーリングリストの案内
Back to archive index