演算子なしで一致する場合+
-コード>
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%'
-インデックスを利用できるかどうか。