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通配符: *%

链接地址: http://www.djcxy.com/p/75323.html

上一篇: mysql failed fulltext search with a particular word

下一篇: mysql fulltext boolean search with asterix