英文:
MySQL FULLTEXT Search not able to search string with large words
问题
MySQL FULLTEXT Search的限制包括以下内容:
-
最小词长度:默认情况下,MySQL FULLTEXT Search 忽略包含少于4个字符的词。这意味着无法搜索或匹配较短的词。
-
停用词:MySQL FULLTEXT Search 默认忽略常见的停用词(如“a”,“an”,“the”等),这些词不会被索引或搜索。
-
性能:对于包含大量文本的表格,FULLTEXT 搜索可能会影响性能,特别是在大型数据集上。
-
排序:FULLTEXT 搜索结果按相关性排序,但不能自定义排序规则。
-
BOOLEAN MODE 运算符:BOOLEAN MODE 提供了高级搜索功能,但它也有一些限制,如无法使用通配符在词的中间进行匹配(只能在词尾使用通配符),并且有一些特殊字符需要转义。
-
语言支持:FULLTEXT 搜索对于不同的语言支持不一致,某些语言可能不如其他语言效果好。
请注意,MySQL 的版本可能会影响 FULLTEXT 搜索的功能和性能,因此最好查阅特定版本的文档以获取详细信息。
英文:
I have a scenario where I need to search a particular string using FULLTEXT Search.
The string to search is:
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrffffffffffffffffffffffffffffffffffffffffffffffffttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
The Query is
SELECT * FROM TABLE_NAME t1 WHERE (MATCH(t1.Name) AGAINST('rrr*' IN BOOLEAN MODE))
Are there any limitations in MySQL FULLTEXT Search?
答案1
得分: 0
根据布尔全文搜索中的MySQL手册,最小和最大标记大小限制适用于此类搜索:
> 使用内置FULLTEXT解析器和MeCab解析器插件创建的FULLTEXT索引适用最小和最大词长全文参数。innodb_ft_min_token_size和innodb_ft_max_token_size用于InnoDB搜索索引。ft_min_word_len和ft_max_word_len用于MyISAM搜索索引。
最大标记大小的默认值为84。
英文:
As mysql manual on boolean fulltext search indicates, both minimum and maximum token size limits apply to such srarches:
> The minimum and maximum word length full-text parameters apply to FULLTEXT indexes created using the built-in FULLTEXT parser and MeCab parser plugin. innodb_ft_min_token_size and innodb_ft_max_token_size are used for InnoDB search indexes. ft_min_word_len and ft_max_word_len are used for MyISAM search indexes.
The default value of the max token size is 84.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论