在前一篇文章中,我们讲解了elasticsearch的基本概念和安装教程,对elasticsearch的基本功能有了一定的了解,对它的基本用途有了基本的知晓。今天我们讲解一下elasticsearch中插件的使用,我们知道在elasticsearch中提供了很多的插件,包括官方的和其他第三方社区开发的插件。正是通过这些丰富的插件,elasticsearch的功能才变得更加丰富和好用。
es插件是一种增强Elasticsearch核心功能的途径。它们可以为es添加自定义映射类型、自定义分词器、原生脚本、自伸缩等等扩展功能。
插件包含JAR文件,但也可能包含脚本和配置文件,并且必须安装在群集中的每个节点上。安装后,必须重新启动每个节点才能看到插件。
注意:es的插件安装需要使用root权限,因为会涉及到一些文件写入的权限操作。
此类插件属于Elasticsearch项目的插件。与Elasticsearch项目同时发布,并且其版本号始终与Elasticsearch本身的版本号相匹配。这些插件由Elastic官方团队维护,受到惊人的社区成员(开源插件)的赞赏。可以在Github项目页面上报告问题和错误报告。
官方插件源码地址: https://github.com/elastic/elasticsearch/tree/master/plugins。
插件文档:https://www.elastic.co/guide/en/elasticsearch/plugins/7.0/index.html。
此类别标识Elasticsearch项目外部的插件。它们由个人开发者或私人公司提供,并拥有自己的许可证以及他们自己的版本控制系统。
elasticsearch提供了多种插件安装方式,你可以选择自己适合的方式进行安装。即可以命令安装、URL安装又可以离线文件安装。
比如安装官方的核心插件,命令如下:
sudo bin/elasticsearch-plugin install [plugin_name]
以官方提供的中文分词器安装(analysis-smartcn)为例,进入elasticsearch安装目录
sudo bin/elasticsearch-plugin install analysis-smartcn
sudo systemctl restart elasticsearch.service
elasticsearch-plugin
提供了几个常用的命令list、install、remove,使用help可以查看使用文档。
先前我们安装了analysis-smartcn插件,可以通过list命令来查看。
sudo bin/elasticsearch-plugin list
同时在elasticsearch源文件的plugins目录下,我们可以发现analysis-smartcn目录。
我们通过remove命令删除掉先前的插件,然后再来安装。
sudo bin/elasticsearch-plugin install [url]
还是以analysis-smartcn插件为例:
sudo bin/elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-7.0.0.zip
plugin.zip为本地插件文件
Unix环境下:
sudo bin/elasticsearch-plugin install file:///path/to/plugin.zip
Windows环境下:
bin\elasticsearch-plugin install file:///C:/path/to/plugin.zip
注意:这里插件安装后都需要进行elasticsearch服务的重启。
elasticsearch-head是一个用来浏览、与Elasticsearch簇进行交互的web前端展示插件。 因此elasticsearch-head是一个用来监控Elasticsearch状态的客户端插件。
从官方的文档中我们知道,在5.0版本以上不在提供插件安装形式,而是独立的运行项目。
安装运行:
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
配置修改Gruntfile.js中的文件,允许所有ip访问。
修改目录_site/app.js 修改http://localhost:9200字段到本机ES端口与IP的地址。
然后编辑elasticsearch.yml文件,在文件中添加
http.cors.enabled: true
http.cors.allow-origin: "*"
允许es跨域访问配置。
重启elasticsearch,然后在elasticsearch-head目录下执行npm run start
,运行elasticsearch-head。访问ip:9100,可以看到elasticsearch服务具体情况。
在elasticsearch-head中,我们能够看到索引,文档,数据还能简单操作,非常方便!
elasticsearch-analysis-ik是一个第三方开发者开发的中文分词插件,虽然官方也提供了一个中文分词插件,但是不太好用,这个分词插件比较不错。
可以直接通过URL安装,这里是7.0.0版本,实际安装更改为相应的版本即可。
sudo ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.0/elasticsearch-analysis-ik-7.0.0.zip