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

Back to archive index

Naoya Murakami visio****@gmail*****
2014年 10月 25日 (土) 11:12:27 JST


村上です。

MySQL側の仕様をちゃんと読まずに発言して混乱させてしまって申し訳ありません。

http://dev.mysql.com/doc/refman/5.6/en/fulltext-boolean.html

> (no operator)
> By default (when neither + nor - is specified), the word is optional, but
the rows that contain it are rated higher. This mimics the behavior of
MATCH() ... AGAINST() without the IN BOOLEAN MODE modifier.

これは+、-というより、operatorなしの挙動の違いですね。

MySQLのFTSのoperatorなしはスコア調整しかせず、
MroongaのoperatorなしはOR演算であるという違いです。
(だから、OP_ADJUSTで同じなんですね)

後ろ側に前よりも大きい集合のOR演算(論理和)があるなら、AND演算で
絞り込んだ件数よりも多くなるのは正しいと思います。

これは単なる私の意見ですが、現状のMroongaのデフォルトORのほうが
単純な論理演算なのでわかりやすいかなと思いました。

ただ、operatorなしがスコア調整という挙動で使いたい人がいるというのも
理解できます。

default_operatorを変更できる演算子なり、変数があれば、いいのかなと
思いました。

以上です。



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