InnoDB全文搜索的改进¶
忽略stopword列表¶
默认情况下,所有全文搜索索引检查stopwords列表,以查看是否有索引元素包含该列表中的单词。
对于n-gram索引使用此列表并不总是合适的,例如,包含一个或我会被忽略。另一个不能搜索的词是东,这个将找不到匹配,因为一个在FTS的停止词列表上。
为了解决这个问题,雷竞技下载官网用于MySQL的Percona服务器有innodb_ft_ignore_stopwords变量来控制是否InnoDB全文搜索应该忽略停止词列表。
尽管引入这个变量是为了解决n-gram问题,但它也会影响所有全文搜索索引。
成为一个停止词并不仅仅意味着成为列表中预定义的单词之一。短于innodb_ft_min_token_size或者比innodb_ft_max_token_size也被认为是停止词。因此,当innodb_ft_ignore_stopwords设置为在即使是非ngram FTS,innodb_ft_min_token_size/innodb_ft_max_token_size将被忽略,这意味着在这种情况下,非常短和非常长的单词也将被索引。
系统变量¶
innodb_ft_ignore_stopwords¶
| 选项 | 描述 |
|---|---|
| 命令行 | 是的 |
| 配置文件 | 是的 |
| 范围 | 会议,全球 |
| 动态 | 是的 |
| 数据类型 | 布尔 |
| 默认的 | 从 |
当启用时,此变量将指示InnoDB全文搜索解析器在构建/更新FTS索引时忽略停止词列表。
最近更新:2023-01-12