ElasticSearch中常用的中文切词器为 analysis-ik, 是个第三方插件;
ik主要有两种切词方式,一个是细粒度,一个是粗粒度,分别对应“ik_max_word”和“ik_smart”。
下面分别用实例看下他们切词结果的差异:
query: 北京百度网讯科技有限公司
ik_max_word: 北京;京;百度网;百度;百;度;网讯;网;讯;科技有限公司;科技有限;科技;有限公司;有限;有;限;公司;
ik_smart: 北京;百度;网讯;科技有限公司;
query: 查看通过分析器进行切词的结果
ik_max_word: 查看;通过;通;过分;分析器;分析;析;器;进行;行;切;词;结果;结;果;
ik_smart: 查看;通过;分析器;进行;切;词;结果;
(ik_max_word 竟然连“过分”都可以切出来,所以在生成倒排索引的时候,会比ik_smart多一倍以上的索引量,所以,效果虽好,评估好自己的ES存储空间再做合适的选择)