mysql fulltextsearch在布尔模式下返回的结果短于ft\u min\u word\u len

7eumitmz  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(279)

我在布尔模式下使用mysql-fts查询,如下所示

SELECT org.org_name FROM org 
WHERE MATCH org.org_name AGAINST ('an*' in BOOLEAN MODE);

这给了我以下结果

+--------------------------+
| org_name                 |
+--------------------------+
| Chairs and Table Company |
| and                      |
+--------------------------+
2 rows in set (0.00 sec)

但是,我的理解是,所有小于ft泳min泳word泳len的结果都会被忽略,在我的例子中,ft泳min泳word泳len是4,如下面的查询结果所示(显示类似“ft%”的变量)

+--------------------------+----------------+
| Variable_name            | Value          |
+--------------------------+----------------+
| ft_boolean_syntax        | + -><()~*:""&| |
| ft_max_word_len          | 84             |
| ft_min_word_len          | 4              |
| ft_query_expansion_limit | 20             |
| ft_stopword_file         | (built-in)     |
+--------------------------+----------------+

我想知道,如果我的理解是正确的,为什么像'和'这样的结果会被返回。谢谢。

dfty9e19

dfty9e191#

innodb和myisam表都提供全文搜索。但是,例如,它们有不同的变量集来控制它们。

MyISAM                   InnoDB
ft_min_word_len     innodb_ft_min_token_size
ft_max_word_len     innodb_ft_max_token_size
``` `SHOW TABLE STATUS WHERE Name = 'tablename'` 显示表的引擎。
这可能是有帮助的阅读。

相关问题