在布尔模式下,需要使用字符串(而不是得分更高),使用来完成
+。前缀匹配以结尾结尾
*。这似乎是您想要的,因此搜索:
+John* +S*+John* +Smith*+Smith* +J*+Jo* +S*
请注意,全文索引无法帮助您搜索“单词中的任何地方”。所以类似
*mith*的注定会失败:它们是要与索引中的字符1匹配的。
如果您还想按匹配值对它们进行排序,例如,需要
John Smithbefore
Johnny Smithson,则可以这样做:
SELECt * FROM user WHERe MATCH(..fields..) AGAINST ('match' IN BOOLEAN MODE) ORDER BY MATCH(..fields..) AGAINST ('match' IN BOOLEAN MODE) DESC;除非
ft_min_word_len再次单独添加所有单词> = ,否则您将看到的内容将无济于事:
+John* +S* John+John* +Smith* John Smith+Smith* +J* Smith+Jo* +S*
对于最后一个,两个都是<默认的4个字符,因此我们不能在默认的mysql中为其添加排序参数,但是可以设置
ft_min_world_len不同的值。



