elasticsearch 安装ik分词器及自定义分词库的

一.es 安装ik分词器(6.0.0) 

     1.场景描述

Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english (英文分词)和chinese (中文分词)。其中standard 就是无脑的一个一个词(汉字)切分,所以适用范围广,但是精准度低;english 对英文更加智能,可以识别单数负数,大小写,过滤stopwords(例如“the”这个词)等;chinese 效果很差。

使用es 自带的分词standard,分成单个词,比如桂林山水超漂亮,会如下图分成 桂,林,山,水,超,漂,亮,而我们实际上想得到一些词组。

elasticsearch 安装ik分词器及自定义分词库的_第1张图片

2.具体操作

   es集成ik有非常详细的一对一的版本,不像solr 4.x之后没有对应的ik版本,需要额外的一些包才可以完成ik的集成,es在这一点上显得简单很多。

   es集成git的压缩包地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 

选择和es版本对应的

    es 集成ik主要有两种方式

   (1)借助es的plugin工具,在elasticsearch的根目录下

bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.0.0/elasticsearch-analysis-ik-6.0.0.tar.gz

     (2).先从git下载ik的包,然后解压,如果linux下载了zip格式的,可以yum install zip,再

解压unzip ik-XX.zip,解压之后是一个elasticsearch的文件夹,把这个文件夹拷贝到elasticsearch-6.0.0/plugins/  下

重启es即可

elasticsearch 安装ik分词器及自定义分词库的_第2张图片

关于ik分词中的analyzer

   ik的analyzer只有ik_smart和ik_max_word,ES5.0之后的ik_smart和ik_max_word说明

   ik_max_word:  

    会将文本做最细粒度的拆分,比如会将“桂林山水超漂亮”拆分为“桂林山水,桂林,山水,超,漂亮”,会穷尽各种可能的组合。

elasticsearch 安装ik分词器及自定义分词库的_第3张图片

    ik_smart: 

    会做最粗粒度的拆分,比如会将“桂林山水超漂亮”拆分为“桂林山水,超,漂亮”。参考步骤2的截图


3.加载自定义分词

进入elasticsearch-6.0.0/plugins/elasticsearch/config ,修改IKAnalyzer.cfg.xml ,如qit_word.dic是我定义的字典,字典中定义一个词‘桂林山水超漂亮

elasticsearch 安装ik分词器及自定义分词库的_第4张图片

重启es,进行分词,就发现“桂林山水超漂亮”分成了一个词

elasticsearch 安装ik分词器及自定义分词库的_第5张图片


参考:https://blog.csdn.net/mjwwjcoder/article/details/79104859

你可能感兴趣的:(ik,elasticsearch)