ElasticSearch-hard插件及IK分词器安装
编辑
通过上一篇学习,我们学会了ElasticSearch的安装及访问到了如下页面:
ElasticSearch-head插件安装
为什么需要安装head插件
返回的都是JSON格式的。不方便查看。如果有页面可以查看就更好了。有没有呢?当然有了:elasticSeard-head这个插件就可以实现这个功能。
我们先来看看使用插件后的效果:
ElasticSearch-head是什么?
ElasticSearch-head:是集群管理、数据可视化、增删改查、查询语句可视化工具。
那么怎么安装呢?
因为head插件式基于nodejs的。所以,如果安装网上查询出来的教程。都是告诉你先要安装nodejs环境,然后再npmxxxx的。这种方案真的很麻烦,而且还node环境如果安装不好启动不了。凯哥折腾了把半天都没折腾明白。所以就放弃看这种安装。
再查阅各种资料后,突然看到一句:head插件现在已经出谷歌插件版的了。凯哥赶紧看看,还真的有啊。插件名字:ElasticSearch Head
因为凯哥已经安装了,所以这里显示的式从chrome中移除。如果没有安装就是install了。
下载安装之后,再谷歌浏览器如下图:
安装之后,打开再地址栏中输入ES服务器地址。然后点击连接,就可以访问了
我们知道,因为种种原原因,GN是不能访问谷歌SD的,这里,凯哥也教大家怎么安装离线版的。【PS:离线版的凯哥会在文章最后,分享给大家】
离线版ES-head插件安装
先获取到离线版的head插件:【PS:离线版的凯哥会在文章最后,分享给大家】
再谷歌浏览器最右边,有三个点。点击之后,找到更多工具,然后点击扩展程序。如下图:
打开之后,开发者模式一定要打开。然后就可以看到加载已解压的扩展程序。如下图:
点击,然后找到下载的head插件目录。就可以了。
操作步骤如下图:
IK分词器安装:
我们先来看看什么式分词?为什么需要使用分词器?
分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,
默认的中文分词是将每个字看成一个词,比如"中国的花"会被分为"中","国","的","花",这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。
IK分词器git地址:https://github.com/medcl/elasticsearch-analysis-ik
IK分词器与ES版本对应关系
需要说明的:IK分词器的版本和ES的版本有关联关系的。具体如下图:
因为凯哥使用的EShi6.8.7的。所以,根据上面IK版本和ES版本对应关系,可以知道,凯哥需要西在IK的版本也是6.x.
查看IK版本。可以查看tags.凯哥这里选着6.x中的最高版本号。
PS:因为式国外的网站,下载会比较麻烦,而且慢。凯哥再文章最后会把这个文件分享给大家。
下载后,进行解压。
在ESHOME的plugins下创建IK文件夹.命令:mkdir ik
说明:ESHOME:即你自己ES安装目录。如凯哥的:/home/esuser/elasticsearch-6.8.7/
所以凯哥需要切换到:cd /home/esuser/elasticsearch-6.8.7/plugins/
然后再执行:mkdir iK.
重启ES即可。
安装过程中问题说明:
再启动的过程中,出现如下错误:Plugin [analysis-ik] was built for Elasticsearch version 6.8.6 but version 6.8.7 is running
根据错误提示,我们可以知道,我们下载的IK版本式6.8.6,但是我们运行的版本式6.8.7.怎么办呢?
修改IK分词器插件:plugin-descriptor.properties
再文件最后,将elasticsearch.version=6.8.7中的6.8.6修改成6.8.7.
如下图:
再次启动ES就可以了。
测试分词效果:
我们使用postman进行分词测试:
192.168.31.135:9200/_analyze?pretty
{
"analyzer":"ik_smart",
"text":"凯哥Java,一个程序员的成长记录"
}
我们可以看到,成长和记录已经被分词了。
在下一篇文章中,凯哥将介绍怎么集群安装ES以及怎么创建第一个索引及给索引中添加数据。