elasticsearch几种常用分词器如下:
分词器 | 分词方式 |
---|---|
StandardAnalyzer | 单字分词 |
CJKAnalyzer | 二分法 |
IKAnalyzer | 词库分词 |
其中常用的是IKAnalyzer,但IK是第三方插件,需要安装。
安装分词器
下载
IK软件包下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v5.6.16
在tags栏选择与自己es相同版本的包,如下图对应方式:
可以选择源码自己编译安装也可以选择编译好的版本安装。由于我是内网环境没有办法自己编译所以选择了已经编译好的版本。
安装
1、解压 elasticsearch-analysis-ik-5.6.16.zip
unzip elasticsearch-analysis-ik-5.6.16.zip
解压后得到一个名为elasticsearch的文件夹,内容如下:
2、安装ik
在每个ES节点的,plugins目录下创建ik文件夹,将解压出来的文件全部拷贝到ik文件夹下。
mkdir -p ${your_es_dir}/plugins/ik
cp -a elasticsearch/* ${your_es_dir}/plugins/ik
3、重启ES。
由于做了修改,最好先前台重启一下,看下ES启动是否成功。
通常可能会遇到以下几种报错。
1) 5.3版本信息不全报错。
[2019-05-07T18:39:13,452][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [hdzx_elk_02] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Could not load plugin descriptor for existing plugin [ik]. Was the plugin built before 2.0?
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.3.0.jar:5.3.0]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.3.0.jar:5.3.0]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:58) ~[elasticsearch-5.3.0.jar:5.3.0]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.3.0.jar:5.3.0]
at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.3.0.jar:5.3.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.3.0.jar:5.3.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.3.0.jar:5.3.0]
Caused by: java.lang.IllegalStateException: Could not load plugin descriptor f