在全文搜索中如何实现数值搜索?

时间:2019-01-02 17:02:06

标签: mysql full-text-search

类条件:

product.product_name like '%7 up%'

输出here

全文搜索:

MATCH(product.product_name) AGAINST('+7+up' IN BOOLEAN MODE)

MATCH(product.product_name) AGAINST('"7 up"' IN BOOLEAN MODE)

两个查询为何不返回任何结果?

1 个答案:

答案 0 :(得分:0)

第一个表达式看起来不错,但是您应该意识到,默认情况下,MySQL会忽略少于三个字符的单词。这由参数innodb_ft_min_token_size控制。可以更改该参数,但需要重新启动服务器并重建FULLTEXT索引; mysql不建议这样做。有关全文调整的更多详细信息,请参见this document

用双引号引起来的第二个表达式将尝试执行字母匹配:这似乎不是您所需要的。

简而言之:鉴于要搜索的内容,使用LIKE可能更好。