2013-06-20 79 views
1
SELECT * 
FROM t_book AS book 
WHERE MATCH (
b_title, author 
) 
AGAINST (
'med') 

运行上面的sql命令后显示空的结果,但运行后下面的sql代码。它显示所有结果。 *它显示的结果时,关键字长度大于3个字符例如:“中介”显示的是结果全文搜索 - 关键字长度

SELECT * 
FROM t_book AS book 
WHERE MATCH (
b_title, author 
) 
AGAINST (
'medical') 

能否请您解释一下。 谢谢。

+2

键入该标题进入谷歌给我带来这样的:HTTP:/ /dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html – deceze

+0

非常感谢你 – iswan

回答

2

对于搜索常常有一个最小字长。 MySQL的默认值是关键字长度3.也许你的MySQL管理员指定了更大的最小字长度?如果是这样,一个3字的字符不会用在匹配查询中。

你可以找到在MySQL配置文件中的以下部分的设置:

[mysqld] 
ft_min_word_len=3 

你可以阅读更多关于它在这里:http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html

+0

好吧,但你怎么重建全文搜索索引手册建议? – user3192948

+0

你可以在这里找到答案:http://stackoverflow.com/questions/14646738/set-new-value-for-ft-min-word-len-fulltext-in-mysql –