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

问题起因:

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

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

问题解决过程:

问度娘”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%'”查询设置的结果是否生效,结果如图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值