ElasticSearch学习(三),IK分词器

1、IK分词器介绍

     IK分词器在是一款 基于词典和规则 的中文分词器。

2、测试分词器

     在添加文档时会进行分词,索引中存放的就是一个一个的词( term ),当你去搜索时就是拿关键字去匹配词,最终
找到词关联的文档。
 
测试当前索引库使用的分词器:
 
post 发送: localhost:9200/_analyze
 
{"text":" 测试分词器,后边是测试内容: spring cloud 实战 "}
 
结果如下:
 
ElasticSearch学习(三),IK分词器_第1张图片

 

 

会发现分词的效果将 测试 这个词拆分成两个单字 ,这是因为当前索引库使用的分词器对中文就是单字
分词。
 
3、 安装 IK 分词器
 
1) 下载 IK 分词器:( Github 地址: https://github.com/medcl/elasticsearch-analysis-ik
 
网盘: https://pan.baidu.com/s/13K3fdj-05X8ewILWFoeZ9A

 

2) 下载 zip

 

ElasticSearch学习(三),IK分词器_第2张图片

 

3) 解压,并将解压的文件拷贝到 ES 安装目录的 plugins 下的 ik 目录下

 

ElasticSearch学习(三),IK分词器_第3张图片

 

4) 重启ES

5) 测试分词效果:

发送: post localhost:9200/_analyze
 
{"text":" 测试分词器,后边是测试内容: spring cloud 实战 ","analyzer":"ik_max_word" }
 
ElasticSearch学习(三),IK分词器_第4张图片

 

4、两种分词模式

    ik 分词器有两种分词模式: ik_max_word ik_smart 模式。
 
        1 ik_max_word
             会将文本做最细粒度的拆分,比如会将 中华人民共和国人民大会堂 拆分为 中华人民共和国、中华人民、中华、
华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。
 
        2 ik_smart
             会做最粗粒度的拆分,比如会将“ 中华人民共和国人民大会堂 拆分为中华人民共和国、人民大会堂。
测试两种分词模式:
 
        发送: post localhost:9200/_analyze
        {"text":" 中华人民共和国人民大会堂 ","analyzer":"ik_smart" }

5、自定义词库

    如果要让分词器支持一些专有词语,可以自定义词库。
    iK 分词器自带一个 main.dic 的文件,此文件为词库文件。

 

ElasticSearch学习(三),IK分词器_第5张图片

在上边的目录中新建一个 my.dic 文件(注意文件格式为 utf-8 (不要选择 utf-8 BOM ))
可以在其中自定义词汇:
比如定义:
配置文件中配置my.dic,E:\elasticsearch\elasticsearch-6.2.1\plugins\ik\config\IKAnalyzer.cfg.xml
 
ElasticSearch学习(三),IK分词器_第6张图片

 

 

重启 ES ,测试分词效果:
 
发送: post localhost:9200/_analyze
 
{"text":" 测试分词器,后边是测试内容: spring cloud 实战 ","analyzer":"ik_max_word" }
 
ElasticSearch学习(三),IK分词器_第7张图片

 

 

你可能感兴趣的:(ElasticSearch学习(三),IK分词器)