mysql全文检索fulltext查询最小字段长度

问题起因:

使用mysql全文检索时,因一个条件只有一个汉字,导致查询不到应有的结果,如图

mysql全文检索fulltext查询最小字段长度_第1张图片

该语句执行时,应当查出两条结果,却不能正常查出来

问题解决过程:

问度娘”mysql全文检索无效”,得到的答案基本上是同一个,即:mysql 默认全文索引的最小单词是四个字符,可以通过ft_min_word_len设置,配置在文件/etc/my.cnf中

此为解决方案一,设置后需要重建 fulltext索引生效,执行代码如下:

查看索引:show index from tableName
去掉索引:alter table tableName drop index rm_bl_name_idx
添加索引:alter table tableName add FULLTEXT index rm_bl_name_idx (last_name,first_name,native_name)

此解决方案仅对部分引擎生效,有些引擎使用的是另一个配置innodb_ft_min_token_size,此为解决方案二

修改方式同方案一,可用sql“SHOW GLOBAL VARIABLES LIKE '%ft_m%'”查询设置的结果是否生效,结果如图

mysql全文检索fulltext查询最小字段长度_第2张图片

 

你可能感兴趣的:(mysql全文检索fulltext查询最小字段长度)