当前位置:   article > 正文

ik_max_word ik_smart

ik_max_word ik_smart

打开 ~/es_root/config/elasticsearch.yml 文件,加入以下配置:

  1. index:
  2. analysis:
  3. analyzer:
  4. ik_syno:
  5. type: custom
  6. tokenizer: ik_max_word
  7. filter: [my_synonym_filter]
  8. ik_syno_smart:
  9. type: custom
  10. tokenizer: ik_smart
  11. filter: [my_synonym_filter]
  12. filter:
  13. my_synonym_filter:
  14. type: synonym
  15. synonyms_path: analysis/synonym.txt

以上配置定义了 ik_syno 和 ik_syno_smart 这两个新的 analyzer,分别对应 IK 的 ik_max_word 和 ik_smart 两种分词策略。根据 IK 的文档,二者区别如下:

  • ik_max_word:会将文本做最细粒度的拆分,例如「中华人民共和国国歌」会被拆分为「中华人民共和国、中华人民、中华、华人、人民共和国、人民、人、民、共和国、共和、和、国国、国歌」,会穷尽各种可能的组合;
  • ik_smart:会将文本做最粗粒度的拆分,例如「中华人民共和国国歌」会被拆分为「中华人民共和国、国歌」;

ik_syno 和 ik_syno_smart 都会使用 synonym filter 实现同义词转换。为了方便后续测试,建议创建 ~/es_root/config/analysis/synonym.txt 文件,输入一些同义词并存为 utf-8 格式。例如:

ua,user-agent,userAgent
js,javascript

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/966676
推荐阅读
相关标签
  

闽ICP备14008679号