【ElasticSearch】IK分词器 ik_smart模式 和 ik_max_word模式的区别

背景

  当ElasticSearch搜索的文档中含有中文时,默认的分词器会把中文一个汉字当做一个关键字拆分,这样是不符合需求的,因此常用的中文分词器为IK分词器
由于IK分词器有 ik_smart 和 ik_max_word两种模式,这里主要介绍这两种模式的差别

 

IK分词器

 区别
   ik_smart:分词的时候只分一次,句子里面的每个字只会出现一次

   ik_max_word:句子的字可以反复出现。 只要在词库里面出现过的 就拆分出来。如果没有出现的单字。如果已经在词里面出现过,那么这个就不会以单字的形势出现

   例如:对于文本"湖南省常德市" 
   使用ik_smart 模式分词

           

 

 

      使用ik_max_word 模式分词

         

 

 

 

 

最佳实践

  1.通常情况下,对于分词查询,文档指定的字段使用 ik_max_word 分析器进行分词,客户端使用match查询即可满足需求
  2.特殊情况下,业务中既需要ik_max_word 和 ik_smart 两种模式进行查询,新建二级字段(辅助字段)来查询对应的信息,如果需要优先级排序,则指定boost权重分数
     加权参考:
     https://www.cnblogs.com/cxygg/p/9471372.html  第 42 条
     https://www.cnblogs.com/cxygg/p/9538596.html  第 22 条

 

  

 

 

参考链接

  1.https://ld246.com/article/1582809678737
  2.http://t.zoukankan.com/cxygg-p-9772871.html

posted @ 2022-07-04 20:27  听风是雨  阅读(6543)  评论(0)    收藏  举报
/* 看板娘 */