一、前言

  ik分词器官方源码版下载地址:
  https://github.com/medcl/elasticsearch-analysis-ik

 
  ik分词器官方发行版下载地址:
  https://github.com/medcl/elasticsearch-analysis-ik/releases

 
  源码版需要使用maven进行编译,生成发行版(release)才能使用elasticsearch插件工具安装。发行版已经编译好,可以直接安装。ik的发行版,就是一个“.zip”格式的压缩包。笔者建议使用发行版去安装,操作简单。本教程详细指导如何在elasticsearch8.4.3安装最新ik分词器,还有编译ik的源码来生成安装包
 

  本文由 @大白有点菜 原创,请勿盗用,转载请说明出处!如果觉得文章还不错,请点点赞,加关注,谢谢!
 

二、安装部署

  安装最新版 ik分词器(elasticsearch-analysis-ikv8.4.3 的前提需要安装部署好elasticsearch ,如果需要安装elasticsearch最新版,可参考教程【最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)】。
 

1、方法一:下载发行版安装包并安装。

(1)切换到 elasticsearch8.4.3 程序目录下的插件 plugins 目录并新建 ik 目录。

cd /usr/local/elasticsearch-8.4.3/plugins/ && mkdir ik

新建ik目录
 
(2)方式1(操作麻烦,不推荐):网页端直接下载安装包 elasticsearch-analysis-ik-8.4.3.zip 并上传。使用迅雷等工具下载会很快,github的龟速下载大家都懂。
 
下载安装包elasticsearch-analysis-ik-8.4.3.zip
 
上传命令:

rz

如果提示 rz 命令不存在,需要安装相应组件:

yum -y install lrzsz

(3)方式2(操作简单,推荐):使用 wget 方式下载 elasticsearch-analysis-ik-8.4.3.zip 。github下载文件是很慢的,需要耐心等待。

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.4.3/elasticsearch-analysis-ik-8.4.3.zip

wget 方式下载elasticsearch-analysis-ik-8.4.3.zip

 
(4)使用 unzip 命令解压elasticsearch-analysis-ik-8.4.3.zip 到 ik 目录。

unzip elasticsearch-analysis-ik-8.4.3.zip

解压elasticsearch-analysis-ik-8.4.3.zip
 
(5)重启 elasticsearch 服务。

service elasticsearch restart

 

2、方法二:直接使用 elasticsearch-plugin 工具安装。

(1)切换到 /usr/local/elasticsearch-8.4.3/bin 目录下

cd /usr/local/elasticsearch-8.4.3/bin

(2)使用 elasticsearch-plugin 工具安装

./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.4.3/elasticsearch-analysis-ik-8.4.3.zip

(3)重启 elasticsearch 服务。

service elasticsearch restart

 

3、方式三:源码方式编译后将 zip 文件上传

(1)使用 git 方式下载源码,需要在Windows系统中安装 git 软件。
 
使用 git 方式下载源码
 

git clone https://github.com/medcl/elasticsearch-analysis-ik.git

使用 git 方式下载源码报错
 
  如果出现上面报错,笔者也无法专业地解释出现的原因,归咎于网络问题吧,因为隔天去克隆,发现成功了。
 
使用 git 方式下载源码正常

 
(2)或者直接下载源码压缩包
 
直接下载源码压缩包
 
(3)进入到 elasticsearch-analysis-ik 目录,在路径处输入 cmd 命令并回车打开cmd窗口。
进入到 elasticsearch-analysis-ik 目录,在路径处输入 cmd 命令并回车 
(4)分别输入以下命令(前提是已经部署好maven的版本),先清理,再编译,最后打包。【注意:要求JDK版本为17或更高,不然打包会报错】

mvn clean
mvn compile
mvn package

mvn clean 
  前面没有问题,mvn clean只是清除已编译的文件。
 
  但是,从git上面clone下来的源码进行第二步 mvn compile 时,却出现如下报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project elasticsearch-analysis-ik: Compilation failure
[ERROR] /D:/Projects/JavaProject/elasticsearch-analysis-ik/src/main/java/org/wltea/analyzer/cfg/Configuration.java:[6,39] 无法访问org.elasticsearch.common.inject.Inject
[ERROR]   错误的类文件: D:\Develop\MavenRepository\org\elasticsearch\elasticsearch\8.4.1\elasticsearch-8.4.1.jar(org/elasticsearch/common/inject/Inject.class)
[ERROR]     类文件具有错误的版本 61.0, 应为 52.0
[ERROR]     请删除该文件或确保该文件位于正确的类路径子目录中。**加粗样式**

 
git上面clone下来的源码mvn compile报错 
  接着,笔者试试下载源码压缩包,继续进行第二步 mvn compile ,发现出现如下不同的报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project elasticsearch-analysis-ik: Compilation failure
[ERROR] /F:/ik/elasticsearch-analysis-ik-8.4.3/src/main/java/org/elasticsearch/plugin/analysis/ik/AnalysisIkPlugin.java:[3,34] 无法访问org.apache.lucene.analysis.Analyzer
[ERROR]   错误的类文件: D:\Develop\MavenRepository\org\apache\lucene\lucene-core\9.3.0\lucene-core-9.3.0.jar(org/apache/lucene/analysis/Analyzer.class)
[ERROR]     类文件具有错误的版本 55.0, 应为 52.0
[ERROR]     请删除该文件或确保该文件位于正确的类路径子目录中。

 
源码压缩包mvn compile报错 
(5)【报错总结】查阅资料,类文件具有错误的版本 55.0, 应为 52.0 应该是JDK的版本编译问题。有些包是使用高版本的JDK去编译的,JDK8对应52那么55对应JDK1161对应JDK17。笔者电脑安装的是JDK8,所以只能在虚拟机中的Windows 10去试试了,毕竟JDK8还是主流,高版本有很多新特性,工作环境不太适合安装高版本。
 
(6)笔者在虚拟机中搭建了个Win10专业版系统,安装最新的 Maven-3.8.6 和最新的 JDK-17.0.5 ,来编译 elasticsearch-analysis-ik 源码看能否能生成安装包。如需要在Win10中安装Maven最新版本和JDK17最新版本,可参考教程【最新Maven(apache-maven-3.8.6)在Win10安装部署(超详细)】、【最新JDK17(jdk-17.0.5)在Win10安装部署(超详细)】。
 
  1)先编译,结果是成功的

mvn compile

编译elasticsearch-analysis-ik源码成功 
  2)再来打包,也是能成功生成 elasticsearch-analysis-ik-8.4.1.zip 安装包

mvn package

打包成功生成 elasticsearch-analysis-ik-8.4.1.zip 安装包 

三、测试

1、创建索引(index)

在Kibana的 Dev Tools 里执行命令创建索引(ik_test):

PUT ik_test

Dev Tools
 
创建索引ik_test
 

2、创建映射(mapping)

POST /ik_test/_mapping
{
  "properties": {
      "content": {
          "type": "text",
          "analyzer": "ik_max_word",
          "search_analyzer": "ik_smart"
      }
  }
}

创建映射mapping

 

3、索引一些文档

POST /ik_test/_create/1
{"content":"美国留给伊拉克的是个烂摊子吗"}

POST /ik_test/_create/2
{"content":"公安部:各地校车将享最高路权"}

POST /ik_test/_create/3
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}

POST /ik_test/_create/4
{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}

新增文档1
 
新增文档2

 

4、高亮查询

POST /ik_test/_search
{
  "query" : { "match" : { "content" : "中国" }},
  "highlight" : {
      "pre_tags" : ["<tag1>", "<tag2>"],
      "post_tags" : ["</tag1>", "</tag2>"],
      "fields" : {
          "content" : {}
      }
  }
}

高亮查询1 
高亮查询2

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐