在使用elasticsearch的时候,免不了要使用分词器,ik分词器就是其中的一种.关于ik分词器怎么和elasticsearch结合,我将在另外的文章中写,这篇文章主要说的是ik分词器的一些配置.
打开 %/config/elasticsearch.yml %/文件,加入以下配置:
index.analysis.analyzer.ik.type:"ik"
# index:
# analysis:
# analyzer:
# ik_syno:
# type: custom
# tokenizer: ik_max_word
# ik_syno_smart:
# type: custom
# tokenizer: ik_smart
以上配置定义了 ik_syno 和 ik_syno_smart 这两个新的 analyzer,分别对应 IK 的 ik_max_word 和 ik_smart 两种分词策略。根据 IK 的文档,二者区别如下:
· ik_max_word:会将文本做最细粒度的拆分,例如「中华人民共和国国歌」会被拆分为「中华人民共和国、中华人民、中华、华人、人民共和国、人民、人、民、共和国、共和、和、国国、国歌」,会穷尽各种可能的组合;
· ik_smart:会将文本做最粗粒度的拆分,例如「中华人民共和国国歌」会被拆分为「中华人民共和国、国歌」;
配置前查询结果:
配置后ik_max_word
配置后ik_smart