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

在上面运行 sql 命令后,它显示空结果,但在运行下面的 sql 代码之后。它显示所有结果。* 关键字长度大于 3 个字符时显示结果 例如:'medi' 显示结果

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

你能解释一下吗?谢谢。

4

1 回答 1

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

于 2013-06-20T07:06:18.050 回答