这是我执行搜索的代码
SELECT d.deal_id,
d.deal_title,
d.friendly_url
FROM wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('Ultimate Revitalisation Kit' IN BOOLEAN MODE)
GROUP BY d.deal_id
工作正常。
但是当我搜索Kit时,它就变成了
SELECT d.deal_id,
d.deal_title,
d.friendly_url
FROM wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('Kit' IN BOOLEAN MODE)
GROUP BY d.deal_id
并且没有给出任何结果,尽管在之前的搜索结果中有试剂盒。我不是这种搜索查询的专家。但我必须要求搜索查询不应该像关键字那样使用'%kit%'。所以这就是我使用反对和匹配的原因。这类高级查询是否有专家?你能把它做成一个出色的搜索查询吗? 请完美。所以看起来比查询更简单。
答案 0 :(得分:1)
您需要更改mySQL安装的/etc/my.conf。默认情况下,全文搜索仅使用4个字符作为最小字长。您需要将其更改为3.
ft_min_word_len = 3
您还需要在表格上重建全文索引。您可以通过运行REPAIR命令来执行此操作:
REPAIR TABLE my_table QUICK;
或者您可以删除并重新创建索引。
执行此操作并重新启动mysql。您的搜索现在可以使用了。