mysql中文全文检索无效问题,在线等!!

ITjavaman 2018-04-18 03:24:54
首先我数据库版本是5.7.21,表所使用的引擎是InnoDB
目前表数据弄了500W,想测试一下中文全文检索的效率
首先是我对表中的bookname(varchar 255)字段建立了全文索引,然后使用语句查询的时候却一条记录都没,
我查询的关键词长度是2,ngram_token_size的值也是2
搞不清楚哪一步错了,求各位大神解答
...全文
917 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
确实是建立索引需要加分词器,赞。很多地方都没有讲到-------------
bymargie 2019-12-20
  • 打赏
  • 举报
回复
引楼主问题:全文索引在不加with parser ngram的情况下,分词是对数据内容为英文是有效果,中文没效果;一旦加了,对中文有效果,英文反而没效果了。这种情况下 如何解决?
sinrell 2019-08-08
  • 打赏
  • 举报
回复
解析器里面加上 ngram 不谢
johopig 2019-05-13
  • 打赏
  • 举报
回复
引用 4 楼 ITjavaman 的回复:
昨天找到原因,是因为新建立全文索引的时候没有添加中文检索分词插件ngram,需要在建立全文索引语句后面加上WITH PARSER ngram
weixin_36704264 2018-11-08
  • 打赏
  • 举报
回复
我最近也烦着这个,楼主的是不是mysql8?我是这样的,如果引擎是innodb是可以进行全文检索的,但是myisam则不行,这也是我百思不得其解的地方。如果楼主已经摸索出答案,请也给我一个答案吧。至于sphinx,这个东西必须分开服务器运行才发挥到作用,单机已经整个lamp系统了,机子根本无法符合。
ITjavaman 2018-04-19
  • 打赏
  • 举报
回复
引用 3 楼 zerolone 的回复:
上sphinx吧。
试了一下确实不错
ITjavaman 2018-04-19
  • 打赏
  • 举报
回复
昨天找到原因,是因为新建立全文索引的时候没有添加中文检索分词插件ngram,需要在建立全文索引语句后面加上WITH PARSER ngram
Zerolone 2018-04-18
  • 打赏
  • 举报
回复
上sphinx吧。
ITjavaman 2018-04-18
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
一个是查询的关键字和用法是否正确
用法不正确直接会报错吧,而不是直接0记录, 然后记录是否存在我已经用like语句查询过,这问题也应该排除吧
oyljerry 2018-04-18
  • 打赏
  • 举报
回复
一个是查询的关键字和用法是否正确

56,677

社区成员

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

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