关于elasticsearch 安装ik 分词器网上有很多版本大概分为3步:
1、下载zip包,之后unzip到临时目录。
下载地址为:https://github.com/medcl/elasticsearch-analysis-ik
对应版本关系可见github说明。
2、用maven打包,如服务器无maven需要安装maven,时间可能会很长。安装完成后,进入第一步解压后目录,执行命令:
mvn package
2.1 执行完成之后,进入target 目录-releases将elasticsearch-analysis-ik-{version}.zip 复制到your-es-root/plugins/ik ,并且进行解压 unzip.
2.2 将第一步解压的ik包中的config文件下的ik文件夹复制到ES安装路径的config下。
3、在ES的配置文件config/elasticsearch.yml中增加ik的配置:
index.analysis.analyzer.ik.type : “ik”
4、重启ES服务器。
但是我按照此步骤安装后,重启报错:
[mapping] IndexCreationException[failed to create index]; nested: IllegalArgumentException[Unknown Analyzer type [ik] for [ik]];
at org.elasticsearch.indices.IndicesService.createIndex(IndicesService.java:362)
at org.elasticsearch.indices.cluster.IndicesClusterStateService.applyNewIndices(IndicesClusterStateService.java:307)
at org.elasticsearch.indices.cluster.IndicesClusterStateService.clusterChanged(IndicesClusterStateService.java:176)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:494)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
解决办法为:
不用执行第三步,第二部执行完后,即可使用ik分词器,只需要在对应mapping中指定分词器即可: