全文搜索多个关键字

时间:2013-07-25 09:04:18

标签: php sql full-text-search

我的网站上有一个搜索位置,允许用户搜索内容。 直到今天,我使用LIKE功能完成了这项工作,但由于数据库很大,需要很长时间。这就是我的代码的样子:

SELECT * FROM articles WHERE body LIKE '%how%' AND '%to%' AND '%code%' LIMIT 30"

为了提高速度,我发现我可以使用FULL TEXT SEARCH,这就是我的代码的样子:

SELECT * FROM articles WHERE MATCH (body) AGAINST ('+how +to +code' IN BOOLEAN MODE)LIMIT 30;

问题是返回行但它们只是随机的,其中包含一些单词。

我做错了什么? :(

1 个答案:

答案 0 :(得分:0)

检查您的MySQL设置ft_min_word_len - 变量。您匹配的是'to',即2个字符,默认情况下,fulltext-index配置为仅索引长度为3的单词。

确保在更改body - 值后,在ft_min_word_len - 列上重建FULLTEXT索引。