MySQL数据表全文索引查询返回记录集为空

uncarman2012 2018-10-28 03:03:17
MySQL版本: 5.7.23 数据库引擎InnoDB
操作系统: windows 10
在一张900万的单表执行如下查询返回记录集为空
select * from sm_user_info_copy where match(display_name) AGAINST('君' in boolean mode);
已经在字段display_name上建立全文索引。


并且修改了参数ft_min_word_len为1, 如下所示


但依然返回不了数据,ft_min_word_len设为2也无效。
注:全文索引已经绑定了解析器ngram

另外创建了一张使用MyIASM引擎的表。将display_name的值用逗号分隔,居然查询成功。如下截图所示:




请有经验的朋友指教。





...全文
297 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
uncarman2012 2018-10-29
  • 打赏
  • 举报
回复
自行搞定!
mingqing6364 2018-10-29
  • 打赏
  • 举报
回复
SHOW VARIABLES LIKE '%ngram%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| ngram_token_size | 2 |
+------------------+-------+
1 row in set (0.01 sec)

看看这个变量设置的是多少?改成1试试。
uncarman2012 2018-10-29
  • 打赏
  • 举报
回复
关键字设为两个汉字及以上,查询能返回结果,单汉字不行。ft_min_len设为1也不行。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧