MySQL的全文本搜索功能几乎没有用户可调参数。如果您拥有MySQL源代码发行版,则可以对全文搜索行为进行更多控制,因为某些更改需要修改源代码。请参见 第2.9节“从源代码安装MySQL”。
全文搜索经过仔细调整以提高有效性。在大多数情况下,修改默认行为实际上会降低有效性。除非您知道自己在做什么,否则请不要更改MySQL源。
配置最小和最大字长
要搜索 的单词的最小和最大长度由innodb_ft_min_token_size和定义 , innodb_ft_max_token_size用于 InnoDB搜索索引, ft_min_word_len以及 ft_max_word_len用于 MyISAM。
注意
最小和最大字长全文参数不适用于FULLTEXT使用ngram解析器创建的索引。ngram令牌大小由该ngram_token_size选项定义 。
更改所有这些选项之后,请重新 FULLTEXT构建索引以使更改生效。例如,要使两个字符的单词可搜索,可以将以下行放在选项文件中:
[mysqld]
innodb_ft_min_token_size=2
ft_min_word_len=2
然后重新启动服务器并重建 FULLTEXT索引。对于 MyISAM表,请注意以下有关重建全文索引的说明中有关 myisamchk的说明MyISAM。
配置自然语言搜索阈值
对于MyISAM搜索索引,自然语言搜索的50%阈值由所选的特定加权方案确定。要禁用它,请在中查找以下行 storage/myisam/ftdefs.h:
#define GWS_IN_USE GWS_PROB
将该行更改为此:
#define GWS_