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-ik
,v8.4.3
) 的前提需要安装部署好elasticsearch ,如果需要安装elasticsearch最新版,可参考教程【最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)】。
(1)切换到 elasticsearch8.4.3 程序目录下的插件 plugins 目录并新建 ik 目录。
cd /usr/local/elasticsearch-8.4.3/plugins/ && mkdir ik
(2)方式1(操作麻烦,不推荐
):网页端直接下载安装包 elasticsearch-analysis-ik-8.4.3.zip 并上传。使用迅雷等工具下载会很快,github的龟速下载大家都懂。
上传命令:
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
(4)使用 unzip 命令解压elasticsearch-analysis-ik-8.4.3.zip 到 ik 目录。
unzip elasticsearch-analysis-ik-8.4.3.zip
service elasticsearch restart
(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
(1)使用 git 方式下载源码,需要在Windows系统中安装 git 软件。
git clone https://github.com/medcl/elasticsearch-analysis-ik.git
如果出现上面报错,笔者也无法专业地解释出现的原因,归咎于网络问题吧,因为隔天去克隆,发现成功了。
(2)或者直接下载源码压缩包
(3)进入到 elasticsearch-analysis-ik 目录,在路径处输入 cmd 命令并回车打开cmd窗口。
(4)分别输入以下命令(前提是已经部署好maven的版本),先清理,再编译,最后打包。【注意
:要求JDK版本为17或更高
,不然打包会报错】
mvn clean
mvn compile
mvn package
前面没有问题,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] 请删除该文件或确保该文件位于正确的类路径子目录中。**加粗样式**
接着,笔者试试下载源码压缩包,继续进行第二步 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] 请删除该文件或确保该文件位于正确的类路径子目录中。
(5)【报错总结
】查阅资料,类文件具有错误的版本 55.0, 应为 52.0
应该是JDK的版本编译问题。有些包是使用高版本的JDK去编译的,JDK8对应52,那么55对应JDK11,61对应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
2)再来打包,也是能成功生成 elasticsearch-analysis-ik-8.4.1.zip
安装包:
mvn package
在Kibana的 Dev Tools 里执行命令创建索引(ik_test):
PUT ik_test
POST /ik_test/_mapping
{
"properties": {
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
}
}
}
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":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}
POST /ik_test/_search
{
"query" : { "match" : { "content" : "中国" }},
"highlight" : {
"pre_tags" : ["" , "" ],
"post_tags" : ["", ""],
"fields" : {
"content" : {}
}
}
}