网络直播网站开发,网营科技,招商网站建设哪家好,如何做ppt课件ElasticSearch 添加IK分词器 前言一、IK分词器的算法二、Ik分词器的下载安装#xff08;Winows 版本#xff09;三、Ik分词器的下载安装#xff08;Linux 版本#xff09;四、验证测试#xff08;postman工具#xff09;测试 ik_smart 分词算法测试 ik_max_word 分词算法… ElasticSearch 添加IK分词器 前言一、IK分词器的算法二、Ik分词器的下载安装Winows 版本三、Ik分词器的下载安装Linux 版本四、验证测试postman工具测试 ik_smart 分词算法测试 ik_max_word 分词算法扩展字典 前言 ElasticsearchES内置携带了多种类型的分词器而Standard Analyzer单字分词只是其中之一并且是默认使用的分词器。IK分词器是一个专门为中文文本设计的分词工具它不是ES的内置组件而是一个需要单独安装和配置的插件。在Elasticsearch中IK分词器和Standard Analyzer是并存的关系它们并不会互相排斥或覆盖。在Elasticsearch中当你在创建索引时为某个字段指定了特定的分词器比如中文分词器IK Analyzer那么这个分词器就会被应用于该字段的文本数据在后续的索引和查询过程中都会使用这个分词器来处理该字段的文本。 如果你没有为字段指定分词器Elasticsearch会使用该字段类型默认的分词器。对于文本text类型的字段默认的分词器通常是Standard Analyzer它适用于大多数英文文本的分词处理但不适用于中文等需要特殊分词处理的文本。 一、IK分词器的算法
IK提供了两个分词算法ik_smart和ik_max_word其中ik smart为最少切分ik_max_word为最细粒度划分!
ik_max_word: 会将文本做最细粒度的拆分比如会将中华人民共和国国歌拆分为中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌会穷尽各种可能的组合
ik_smart: 会做最粗粒度的拆分比如会将中华人民共和国国歌拆分为中华人民共和国,国歌。
二、Ik分词器的下载安装Winows 版本
下载地址 https://github.com/medcl/elasticsearch-analysis-ik 注意IK分词器插件的版本要和ElasticSearch的版本一致
我这边是v7.15.2的
解压安装包到 ElasticSearch 所在文件夹中的plugins目录中 Windows 环境下 再启动ElasticSearch查看IK分词器插件是否安装成功 三、Ik分词器的下载安装Linux 版本
下载地址 https://github.com/medcl/elasticsearch-analysis-ik 注意IK分词器插件的版本要和ElasticSearch的版本一致
我这边是v7.15.2的
需要在plugins目录下创建ik分词器文件夹文件夹名称一定要命名为ik不然启动elasticsearch时候会报错的然后在把里面的东西解压放在这个ik下面如下 解压完ik分词器安装包后重启elasticsearch。
四、验证测试postman工具
使用postman工具校验
测试 ik_smart 分词算法
分词请求入参
请求
http://127.0.0.1:9200/_analyze入参
{analyzer: ik_smart,text: 海内存知己,天涯若比邻
}结果如下所示
测试 ik_max_word 分词算法
分词请求入参
请求
http://127.0.0.1:9200/_analyze入参
{analyzer: ik_max_word,text: 海内存知己,天涯若比邻
}结果如下所示
比较两个分词算法对同一句中文的分词结果ik_max_word比ik_smart得到的中文词更多从两者的英文名含义就可看出来但这样也带来一个问题使用ik_max_word会占用更多的存储空间。
扩展字典
从上面的举例来看我使用 ik_max_word 算法时分词里面没有“存知己”这个词如果我想加该怎么办这个时候就涉及了扩展字典的操作了。
第一步 在ik分词器文件的config目录中新建自定义的字典文件以.dic为后缀并在文件中加入“存知己” 第二步 然后打开 IKAnalyzer.cfg.xml 文件把自定义的字典添加到IK的字典中 第三步 重启ES再次测试就发现有了“存知己”这个词了
参考文章 【1】ElasticSearch——IK分词器的下载及使用 【2】Elasticsearch和Kibana版本对应关系 【3】ElasticSearch在linux环境中集成IK分词器