我使用MATCH AGAINST搜索数据库中的多个字段,但结果有问题。
查询是:
MATCH(productname, stockcode, productdescription, additional_1, additional_2, additional_3, additional_4, additional_5, additional_6, additional_7, additional_8) AGAINST ('red* tile*' IN BOOLEAN mode)
从查询中,我想要两个" red%"或" tile%"结果,但这是返回记录,其中“需要”字样。包括在内,我不想要。
可以这样做吗?
答案 0 :(得分:2)
最有可能的是,您将ft_min_word_len
设置为默认值4
。
red
在此设置中未被编入索引或匹配,只是在查询中被忽略。
如果要匹配ft_min_word_len
,则需要将red
更改为较小的值(如果您有索引,则需要重建索引)。
请参阅this fiddle。
<强>更新强>
如果您希望两个单词匹配,请使用:
AGAINST ('+red* +tile*' IN BOOLEAN mode)