mysql使用特定单词进行全文搜索失败

时间:2016-03-16 16:06:15

标签: mysql full-text-search

我遇到了一个奇怪的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 *,它可以使用

1 个答案:

答案 0 :(得分:0)

您必须更改配置值ft_min_word_len(全文最小字长),默认值设置为4.

将此行添加(或修改)到mysql config /etc/my.cnf(或windows中的my.ini)

ft_min_word_len = 3

之后,您可以使用以下命令调用索引重新创建:

REPAIR TABLE companies QUICK;

BTW:全文搜索不接受LIKE通配符:*%