一、系统分词器
- 可以使用GET发送_analyze命令,指定分析器和需要分析的文本内容
- 标准分析器,按照最小粒度
1 | json复制代码GET _analyze |
- 分析结果
1 | json复制代码{ |
- 作为关键词,关键词不会拆分
1 | json复制代码GET _analyze |
- 分析结果
1 | json复制代码{ |
二、IK分词器
2.1 IK分词器说明
- IK分词器提供两个分词算法:ik_smart、ik_max_word
- ik_smart:最少拆分
- ik_max_word:最为细粒度切分
2.2 IK分词器安装
- 下载地址:github.com/medcl/elast…
- 注意事项:版本一定要和ES版本一致
- 解压ik分词器到es/plugins中,文件夹名称用ik
- 重启Elasticsearch,安装完成,在界面启动时将会有插件加载信息
2.3 IK分词器使用
- 可以通过_analyze来测试分词器的使用
1 | json复制代码GET _analyze |
2.3.1 ik_smart
- 最少拆分
1 | json复制代码GET _analyze |
- 拆分结果
1 | json复制代码{ |
2.3.2 ik_max_word
- 最为细粒度拆分
1 | json复制代码GET _analyze |
- 拆分结果
1 | json复制代码{ |
2.4 自定义数据词典
- 在elasticsearch/plugins/ik/config下新建.dic文件,例如此处为codecoord.dic
- 编辑codecoord.dic文件,在其中加入词典,加入的信息在分词器中将会作为一个词语使用,不会进行拆分
- 编辑ik/config/IKAnalyzer.cfg.xml文件,在ext_dict中加入刚刚创建的codecoord.dic词典,多个使用逗号分开
- 此时进行分词器的使用,将会作为一个词语显示
1 | json复制代码{ |
2.5 IK分词器查询
- 创建索引并指定分析器
1 | json复制代码PUT index |
- 创建文档
1 | json复制代码POST index/_doc/1 |
- 搜索时指定高亮信息
1 | json复制代码GET index/_search |
- 将会在高亮highlight中返回高亮信息
1 | json复制代码{ |
本文转载自: 掘金