ElasticSearch5.3安装IK分词器并验证
ElasticSearch5.3安装IK分词器
之前使用Elasticsearch安装head插件成功了,但是安装IK分词器却失败了。貌似是ElasticSearch5.0以后就不支持直接在elasticsearch.yml中配置IK了。原因下面会说明。
首先下载:
https://www.elastic.co/downloads/elasticsearch
https://github.com/medcl/elasticsearch-analysis-ik
,最新版本貌似是5.3 了。
第一步 预处理:
- 解压elasticsearch-5.3.0.zip>D:\programfiles\softtools\elasticsearch\elasticsearch-5.3.0
- 解压elasticsearch-analysis-ik-5.3.0>D:\programfiles\softtools\elasticsearch\plugins\elasticsearch-analysis-ik-5.3.0
- 编译elasticsearch-analysis-ik插件 cmd>D:\programfiles\softtools\elasticsearch\plugins\elasticsearch-analysis-ik-5.3.0>mvn clean package
第二步 配置:
IK配置,如下图是IK分词器config目录下的配置D:\programfiles\softtools\elasticsearch\plugins\elasticsearch-analysis-ik-5.3.0\config
在D:\programfiles\softtools\elasticsearch\elasticsearch-5.3.0\config目录中新建ik文件夹,把上图中的IK配置文件放入ElasticSearch目录中的D:\programfiles\softtools\elasticsearch\elasticsearch-5.3.0\config\ik目录下
ik里面的内容就是 第二步:1.IK配置 里面的配置。
3. 配置IK分词器
下图是通过mvn命令编译后生成的zip包
将上图中的zip包放入D:\programfiles\softtools\elasticsearch\elasticsearch-5.3.0\plugins\ik (ps:ik目录没有的话自己新建一个就好),进行解压
结果如下图所示:
整个安装就完成了。
第三步 测试:
1. 修改elasticsearch.yml中的配置
设置cluster.name,node.name,同时解开这两个配置的注释
设置http.port:9200,其他不需要增加配置了
2. windows下双击D:\programfiles\softtools\elasticsearch\elasticsearch-5.3.0\bin\elasticsearch.bat
不报错说明安装成功。
3. 安装Http连接访问工具,比如火狐插件httpRequester,安装完成后会在火狐浏览器右上角出现插件的标示。
4. 创建索引
content to send:
{
"settings" : {
"analysis" : {
"analyzer" : {
"ik" : {
"tokenizer" : "ik_smart"
}
}
}
},
"mappings" : {
"logs" : {
"dynamic" : true,
"properties" : {
"message" : {
"type" : "string",
"analyzer" : "ik_smart"
}
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
点击Put按钮,出现图右边的返回值,说明创建索引成功。
5. 进行分词测试:
安装过程遇到的坑:
1.将网上对使用IK的配置放到elasticsearch.yml中就会报如下的错误:
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: node settings must not contain any index level settings
这个无论怎么想都不明白,而且网上还没有几个人遇到过这种情况。
2.Caused by: java.lang.IllegalStateException: jar hell!
将IK编译出来的jar,和source.jar两个文件放入elasticsearch的lib里后就出现了,有人说是版本问题,但是我选择的两者都是最新版本,并且对应。这里是因为lib里面有IK了,然后elasticsearch去读取plugin文件夹下的插件的时候又装载了一次,于是就出现了这个问题。将lib里的IK jar包删除,改从plugins里加载就没有问题了。网上也有不少是这样做的,但是确实这么做不正确。
在D:\programfiles\softtools\elasticsearch\elasticsearch-5.3.0\logs会看到相应的错误日志。
3. Exception in thread “main” java.lang.IllegalStateException: Could not load plugin descriptor for existing plugin [analysis-ik]. Was the plugin built before 2.0?
Likely root cause: java.nio.file.NoSuchFileException: /home/es/es2/plugins/analysis-ik/plugin-descriptor.properties
出现上面的异常是我一开始把编译出来的jar包放入D:\programfiles\softtools\elasticsearch\elasticsearch-5.3.0\plugins\ik里面了,其实是要把D:\programfiles\softtools\elasticsearch\plugins\elasticsearch-analysis-ik-5.3.0\target\releases\elasticsearch-analysis-ik-5.3.0.zip解压到那个ik目录下面。
4. 为什么没有在elasticsearch.yml配置IK相关的分词属性呢
5. 在github上 https://github.com/medcl/elasticsearch-analysis-ik的使用文档说了:
5.0.0及其以后就不会上面两个分词器了,而使用两个参数去替代,同时根据上面的使用文档来说,作者也没有说明要针对IK配置elasticsearch.yml。
总体来说还是遇到一定坎坷的,网上很多ES的文章对于新版本都不适用了。我从新将5.0.0的安装环境全部删除然后引入最新版本,才搞定了IK分词器。最新版本的ES安装head插件应该没有什么问题了,毕竟head也没有要求要对5.0.0以后的版本进行安装配置的改动。
原文地址:https://blog.csdn.net/u010504064/article/details/70214040
ElasticSearch5.3安装IK分词器并验证的更多相关文章
- Elastic Stack 笔记(二)Elasticsearch5.6 安装 IK 分词器和 Head 插件
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 作为开源搜索引擎服务器,其核心功能在于索引和搜索数据.索引是把文档写入 Elasticsearch 的过程, ...
- Elasticsearch5.1.1+ik分词器+HEAD插件安装小记
一.安装elasticsearch 1.首先需要安装好java,并配置好环境变量,详细教程请看 http://tecadmin.net/install-java-8-on-centos-rhel-an ...
- 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器
系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...
- 如何开发自己的搜索帝国之安装ik分词器
Elasticsearch默认提供的分词器,会把每个汉字分开,而不是我们想要的根据关键词来分词,我是中国人 不能简单的分成一个个字,我们更希望 “中国人”,“中国”,“我”这样的分词,这样我们就需要 ...
- Elasticsearch入门之从零开始安装ik分词器
起因 需要在ES中使用聚合进行统计分析,但是聚合字段值为中文,ES的默认分词器对于中文支持非常不友好:会把完整的中文词语拆分为一系列独立的汉字进行聚合,显然这并不是我的初衷.我们来看个实例: POST ...
- Elasticsearch下安装ik分词器
安装ik分词器(必须安装maven) 上传相应jar包 解压到相应目录 unzip elasticsearch-analysis-ik-master.zip(zip包) cp -r elasticse ...
- Linux下,非Docker启动Elasticsearch 6.3.0,安装ik分词器插件,以及使用Kibana测试Elasticsearch,
Linux下,非Docker启动Elasticsearch 6.3.0 查看java版本,需要1.8版本 java -version yum -y install java 创建用户,因为elasti ...
- windows下elasticsearch安装ik分词器后无法启动
windows下elasticsearch安装ik分词器后启动报如下图错误: 然后百度说是elasticsearch路径有空格,一看果然我的路径有空格,然后重新换个路径就好了.
- Linux使用Docker启动Elasticsearch并配合Kibana使用,安装ik分词器
注意事项 这里我的Linux虚拟机的IP地址是192.168.1.3 Docker运行Elasticsearch容器之后不会立即有反应,要等一会,等待容器内部启动Elasticsearch,才可以访问 ...
随机推荐
- Python3学习笔记(十四):可迭代对象、迭代器和生成器
记得在刚开始学Python的时候,看到可迭代对象(iterable).迭代器(iterator)和生成器(generator)这三个名词时,完全懵逼了,根本就不知道是啥意识.现在以自己的理解来详解下这 ...
- Confluence备份,数据迁移
一.Confluence的备份.恢复1)Confluence的备份 管理员账号登录Confluence,点击右上角的"一般配置"-"每日备份管理",如下图(默认 ...
- Kotlin的高阶函数和常用高阶函数
Kotlin的高阶函数和常用高阶函数 文章来源:企鹅号 - Android先生 高阶函数的定义 将函数当做参数或者是返回值的函数 什么是高阶函数 可以看看我们常用的 函数: 首先我们可以知道, 是 的 ...
- C++入门经典-例5.1-输出变量的指针
1:代码如下: // 5.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...
- The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases.
https://stackoverflow.com/questions/5508666/dynamically-add-html-to-asp-net-page https://stackoverfl ...
- spark 笔记 12: Executor,task最后的归宿
spark的Executor是执行task的容器.和java的executor概念类似. ===================start executor runs task============ ...
- 全面解读PHP-JS和jQuery
一.变量的定义 1.未使用值来申明的变量,其值为 undefined. 2.如果重新声明一个变量,该变量的值不会丢失. //定义一个变量 var str = 'hello'; //重新申明 var s ...
- web开发(九) 使用javamail进行发送邮件,(使用QQ,163,新浪邮箱服务器)
在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6506027.html>,在此仅供学习参考之用. 一.发送 ...
- samba安装应用实例-1
应用实例:先安装samba软件,yum install -y samba1.需求:共享一个目录,任何人都可以访问,不用输密码,只读.(1)首先打开samba配置文件/etc/samba/smb.con ...
- GitHub Port 443 Refused
最近在本地Github上传和更新远程仓库的时候老是显示 GitHub - failed to connect to github 443 windows/ Failed to connect to g ...