演算子なしで一致する場合+ -コード> green red blueなどに対して レコードに少なくとも1つの単語が含まれているすべての行が返されます: green またはred またはblue 。
ブールモード 演算子がない場合、一致する各単語のスコアは 1になります。 。したがって、3つの単語のうち2つに一致するレコードがある場合、スコアは 2になります。 。
スコアが2以上の行を取得するには:
SELECT *,
MATCH (`TextToCheckIn`) AGAINST ('green red blue' IN BOOLEAN MODE) `score`
FROM `my_tab` WHERE
MATCH (`TextToCheckIn`) AGAINST ('green red blue' IN BOOLEAN MODE)
HAVING `score` >= 2
ORDER BY `score` DESC
自然言語モード
の場合 スコアリングは完全に異なります。これは主に
大規模なデータセットの場合、ブール全文検索(全文索引を使用)
)通常、 REGEXPよりも優れています またはLIKE 一致する単語がどこかの場合ははるかに 本文中。 REGEXP'^ word'などのイニシャルからの照合にはlike/regexpのみを使用します またはLIKE'word%' -インデックスを利用できるかどうか。