MySQL无法用特定的单词进行全文搜索
我遇到了mysql的一个奇怪行为。 如果我尝试使用全文查询sam * word进行搜索,则无法返回结果。
防爆。 表公司
id || name 1 || Company name 2 || Same Company name
如果我做
`SELECT name FROM companies WHERE MATCH name AGAINST ('+Company*' IN BOOLEAN MODE)`
它的工作原理,而不是我使用
`SELECT name FROM companies WHERE MATCH name AGAINST ('+Sam*' IN BOOLEAN MODE)`
要么
`SELECT name FROM companies WHERE MATCH name AGAINST ('+Same' IN BOOLEAN MODE)`
我没有结果!
你对这个问题有什么想法吗?
PS。 如果我使用+ Sa *而不是+ Sam *,它可以工作
您必须更改配置值ft_min_word_len
(全文最小字长),默认值设置为4。
将此行添加(或修改)到mysql config /etc/my.cnf(或Windows中的my.ini)
ft_min_word_len = 3
之后,您可以使用以下命令调用索引重新创建:
REPAIR TABLE companies QUICK;
BTW:全文搜索不接受LIKE
通配符: *
或%