环境准备
案例背景: 阿里云ES不支持上传系统已有的插件, 例如IK分词器, 本篇文档介绍自定义上传IK分词插件使用, 以7.10版本的ES和IK插件为例, 通过自编译打包后自定义上传部署使用
使用场景: 由于本地使用的开源IK分词插件, 线上也希望使用开源的IK分词插件场景。例如 7.10.0版本的集群要使用7.10.0版本的开源Ik分词插件 (非阿里云默认提供)
1.插件下载
2.创建阿里云集群(本文示例为7.10.0版本的ES集群)
3.准备本地开发工具IDEA和JDK环境
配置步骤
1.准备插件
下载插件到本地后查看下文件内容 (左侧是插件包,右侧是源码包(已重命名))
2.解压文件
解压源码包,使用IDEA打开这个项目
3.开发步骤
打开项目发现官方提供的7.4.0版本IK插件的源码使用的是7.4版本的依赖,这里改为7.10.0
修改分词方式,和默认的IK分词方式(ik_max_word、ik_smart )区分一下, 这里将分词方式分别改为 ikk_smart 和 ikk_max_word, 分词名称改为 analysis-ikk
修改后重新打包,双击package, 会生成一个jar文件
将上面生成的elasticsearch-analysis-ik-7.10.0.jar文件替换掉 插件解压后的 elasticsearch-analysis-ik-7.10.0.jar
注意:如果其他依赖需要替换的话也是同样的操作
还需要修改配置文件 plugin-descriptor.properties 中的插件名称
3.重新打包
上述都修改完成后, 重新打包如下,注意打包方式是全选插件文件
打包后出现一个zip包,重命名为 elasticsearch-analysis-ikk-7.10.0.zip
4.上传安装
登录阿里云ES控制台,在对应集群的自定义插件位置上传安装,然后等待集群变更完成
5.结果验证