MySQL 8.0.36 FULLTEXT 索引搜索不返回长度超过 10 个字符的字符串结果

问题描述 投票:0回答:1

我最近将 MySQL 8.0.36 添加到我的本地 WAMP 服务器,一切似乎都很好,但如果搜索关键字长度超过 10 个字符,全文索引搜索似乎不会返回任何结果。

例如:如果我的表中有一个条目包含“我们有这方面的经验”,并且我的 SQL 如下,我会得到返回的结果。

SELECT * FROM searchindex WHERE siteId = '1' AND MATCH(keywords) AGAINST('experience' IN BOOLEAN MODE);

如果我将条目更新为“我们对此有经验”并将 SQL 更改为 ...AND MATCH(keywords) AGAINST('experienced' IN BOOLEAN MODE);我现在没有返回任何结果。

该表是InnoDB,我尝试了排序规则utf8mb4_0900_ai_ci和utf8mb4_unicode_ci。

我已经在单独的数据库中重建了表和索引,但仍然遇到相同的行为。

如果我将表转换为 MyISAM,那么我就能够按预期返回结果。转换回 InnoDB 时又出现问题

任何有关可能发生的情况或我做错了什么的指示将不胜感激。谢谢!

mysql full-text-search fulltext-index
1个回答
0
投票

非常感谢 ysth。我的问题是 innodb_ft_max_token_size 设置为 10。

在 my.ini 中更新此内容并重新保存索引解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.