相似条件:
product.product_name like '%7 up%'
此处输出全文搜索:
MATCH(product.product_name) AGAINST('+7+up' IN BOOLEAN MODE)
或者
MATCH(product.product_name) AGAINST('"7 up"' IN BOOLEAN MODE)
为什么上面两个查询都没有返回任何结果?
g6ll5ycj1#
第一个表达式看起来不错,但是您应该知道,默认情况下,mysql会忽略短于三个字符的单词。这由参数innodb\u ft\u min\u token\u size控制。可以更改该参数,但需要重新启动服务器并重建全文索引;mysql不建议这样做。有关全文调优的详细信息,请参阅本文档。第二个表达式,用双引号括起来,将尝试执行一个litteral匹配:这似乎不是您所需要的。简而言之:考虑到你正在搜索的内容,你最好使用 LIKE .
LIKE
1条答案
按热度按时间g6ll5ycj1#
第一个表达式看起来不错,但是您应该知道,默认情况下,mysql会忽略短于三个字符的单词。这由参数innodb\u ft\u min\u token\u size控制。可以更改该参数,但需要重新启动服务器并重建全文索引;mysql不建议这样做。有关全文调优的详细信息,请参阅本文档。
第二个表达式,用双引号括起来,将尝试执行一个litteral匹配:这似乎不是您所需要的。
简而言之:考虑到你正在搜索的内容,你最好使用
LIKE
.