1

我正在使用 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%" 结果,但这是返回包含单词 'requiRED' 的记录,这是我不想要的。

这可以做到吗?

4

1 回答 1

2

很可能,您已将ft_min_word_len默认值设置为4.

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

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

看到这个小提琴

更新:

如果您希望两个单词都匹配,请使用以下命令:

AGAINST ('+red* +tile*' IN BOOLEAN mode)
于 2012-06-01T09:39:18.657 回答