SELECT *
FROM t_book AS book
WHERE MATCH (
b_title, author
)
AGAINST (
'med')
运行上面的sql命令后显示空结果,但运行下面的sql代码后。它显示了所有结果。 *当关键字长度大于3个字符时显示结果ex:'medi'显示结果
SELECT *
FROM t_book AS book
WHERE MATCH (
b_title, author
)
AGAINST (
'medical')
请你解释一下。 感谢。
答案 0 :(得分: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