MySQL MATCH的问题

时间:2012-06-01 09:37:06

标签: mysql

我使用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%"结果,但这是返回记录,其中“需要”字样。包括在内,我不想要。

可以这样做吗?

1 个答案:

答案 0 :(得分:2)

最有可能的是,您将ft_min_word_len设置为默认值4

red在此设置中未被编入索引或匹配,只是在查询中被忽略。

如果要匹配ft_min_word_len,则需要将red更改为较小的值(如果您有索引,则需要重建索引)。

请参阅this fiddle

<强>更新

如果您希望两个单词匹配,请使用:

AGAINST ('+red* +tile*' IN BOOLEAN mode)