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を変更できる演算子なり、変数があれば、いいのかなと 思いました。 以上です。