elasticsearch插件汇总

基于es 7.3版本试用。

一、安全插件

1、x-pack

a、介绍

包括安全(x-pack-security),监视(x-pack-watcher),警报(x-pack-monitoring),报表(x-pack-graph),Elasticsearch SQL(x-pack-sql),跨集群复制(x-pack-ccr)、x-pack-upgrade、x-pack-rollup和机器学习(x-pack-ml)。7.x版本中,es的安全核心功能免费使用。

b、安装

es7.x版本以默认安装好x-pack。修改配置激活即可。

#在elasticsearch.yml最后添加
xpack.security.enabled: true
xpack.security.audit.enabled: true
#basic表示xpack使用基础版license,否则无法启动
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

  

重启es, 执行
./elasticsearch-setup-passwords interactive 
会引导设置各种密码,包括elastic、kibana、apm_system、logstash_system、beats_system、remote_monitoring_user 
c、使用

默认用户名elastic,例如

#curl请求
curl -XGET -u "elastic:123456" http://192.0.0.1:9200/_cat/indices?v
#http请求
header添加
key=Authorization value = Basic ZWxhc3RpYzoxMjM0NTY=

将username:secret进行base64加密得到 dXNlcm5hbWU6c2VjcmV0 然后前面加上一个Basic和空格, 构造一个字符串形如: Basic dXNlcm5hbWU6c2VjcmV0 然后添加到http的header中Authorization作为键,该字符串为值。
若没添加Authorization,restful请求时报错,返回如security_exception、401

d、结合kibana

es启用x-pack后,kibana会新增用户和角色管理菜单。kibana登录需要输入密码

e、es6.x版本使用x-pack

在es6.x中使用安全功能,需要在kibana中升级license。购买一个icense或申请一个30天的试用。 在 Kibana 中访问 Management -> Elasticsearch -> License Management。选择试用 然后在elasticsearch.yml添加如下配置

xpack.security.enabled: true
xpack.ml.enabled: true
xpack.license.self_generated.type: trial

重启es
在es的bin下执行如下命令,设置密码

elasticsearch-setup-passwords interactive

在kibana.yml中配置

elasticsearch.username: "elastic"
elasticsearch.password: "123456"

重启kibana,获得试用30天

二、分词插件

1、ik分词

a、介绍

最流行的分词插件

b、安装
cd /bin
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip
c.使用
i.创建索引
1.create a index
curl -XPUT http://localhost:9200/index
2.create a mapping
curl -XPOST http://localhost:9200/index/_mapping -H 'Content-Type:application/json' -d'
{
"properties": {
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
}
} }'

  

analyzer说明: ik_smart: 会做最粗粒度的拆分 ik_max_word: 会将文本做最细粒度的拆分。 
ii.分词查询
curl -XPOST http://localhost:9200/index/_search  -H 'Content-Type:application/json' -d'
{
"query" : { "match" : { "content" : "中国" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"content" : {}
}
}
}

  

2、pinyin

a、介绍

pinyin插件能够将文档和查询条件在汉字和拼音间转换

b、安装
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.3.0/elasticsearch-analysis-pinyin-7.3.0.zip

  

c.使用
i.创建索引
PUT /medcl/
{
"settings" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "my_pinyin"
}
},
"tokenizer" : {
"my_pinyin" : {
"type" : "pinyin",
"keep_separate_first_letter" : false,
"keep_full_pinyin" : true,
"keep_original" : true,
"limit_first_letter_length" : 16,
"lowercase" : true,
"remove_duplicated_term" : true
}
}
}
}
}

  

ii.查询
GET /medcl/_analyze
{
"text": ["刘德华"],
"analyzer": "pinyin_analyzer"
}

  

3、smartcn

a、介绍

中科院分词器,和ik类似。不同点是smartcn无法自定义词库

b、安装
./elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-7.3.0.zip

  

c.使用

类似ik tokenizer为smartcn

4、icu

a、介绍

Elasticsearch的 ICU 分析器插件 使用 国际化组件 Unicode (ICU) 函数库(详情查看 site.project.org)提供丰富的处理 Unicode 工具。 这些包含对处理亚洲语言特别有用的 icu_分词器 ,还有大量对除英语外其他语言进行正确匹配和排序所必须的分词过滤器。

b、安装
./elasticsearch-plugin install analysis-icu

  

5、ik或smart与pinyin组合使用

es分析器实际上是三个功能的封装,字符过滤器->分词器->token过滤器,按顺序执行 创建自定义分析器,格式如下

PUT localhost:9200/mytest
{
"setting": {
"analysis": {
"char_filter": { 自定义的字符过滤器 },
"tokenizer": { 自定义的分词器 },
"filter": { 自定义的token过滤器 },
"analyzer": { 自定义的分析器,可以将上面的char_filter、tokenizer、filter用不同的组合拼起来,形成不同的分析器 }
}
}
}

  

例如ik和拼音组合

http://localhost:9200/article_ik_pinyin
{
"settings": {
"number_of_shards": "6",
"number_of_replicas": "1",
"index":{
"analysis": {
"analyzer": {
"ik_pinyin_analyzer": {
"type":"custom",
"tokenizer": "ik_max_word",
"filter": "pinyin_filter"
}
},
"filter":{
"pinyin_filter":{
"type": "pinyin",
"keep_first_letter": false
}
}
}
}
},
"mappings": {
"article_ik_pinyin": {
"properties": {
"id": {
"type": "text"
},
"title": {
"analyzer": "ik_pinyin_analyzer",
"type": "text"
}
}
} }
}

  

三、文本解析插件

4、ingest attachment plugin

a、介绍

这个是基于Apache 文本扩展库Tika插件之上开发的一款适合elasticsearch文本解析插件。在ES5之前使用的是mapper-accachment。ElasticSearch只能处理文本,不能直接处理文档。
Ingest-Attachment是一个开箱即用的插件,替代了较早版本的Mapper-Attachment插件,使用它可以实现对(PDF,DOC,EXCEL等)主流格式文件的文本抽取及自动导入。Elasticsearch5.x新增一个新的特性IngestNode,此功能支持定义命名处理器管道pipeline,pipeline中可以定义多个处理器,在数据插入ElasticSearch之前进行预处理。 而Ingest Attachment Processor Plugin提供了关键的预处理器attachment,支持自动对入库文档的指定字段作为文档文件进行文本抽取。
由于ElasticSearch是基于JSON格式的文档数据库,所以附件文档在插入ElasticSearch之前必须进行Base64编码。

b、安装
./elasticsearch-plugin install ingest-attachment

  

四、SQL支持

1、x-pack-sql

es7.x版本的x-pack自带es sql

a、使用例如
http://localhost:9200/_sql
{
"query": "SELECT * FROM article_ik_pinyin"
}

  

详见

2、elasticsearch-sql

a、介绍

支持到es6.8
https://github.com/NLPchina/elasticsearch-sql/

b、安装
./elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.5.4.0/elasticsearch-sql-6.5.4.0.zip

  

c、使用
curl -X GET "localhost:9200/_sql" -H 'Content-Type: application/json' -d'select * from article_smartcn_pinyin  limit 10'

  

五、可视化

1、kibana

a、介绍

es官方提供的可视化套件,集成了es开发工具、报表、仪表盘、数据挖掘等功能https://www.elastic.co/guide/en/kibana/current/targz.html
kibana6.7+才支持汉化

b、安装
kibana安装版本要和es对应wget https://artifacts.elastic.co/downloads/kibana/kibana-7.3.0-linux-x86_64.tar.gztar -xzvf kibana-7.3.0-linux-x86_64.tar.gz

修改config/kibana.yml
i18n.locale: "zh-CN"
server.port: 5601
server.host: "内网ip"
ibana.index: ".kibana"
elasticsearch.hosts: ["http://192.168.0.1:9200"]
es有配置x-pack的话修改
elasticsearch.username: "elastic"
elasticsearch.password: "123456"

  

 启动 
./bin/kibana

  

 

Elasticsearch6.x和7.x版本常用插件汇总的更多相关文章

  1. jenkins常用插件汇总

    jenkins常用插件汇总: Build-timeout Plugin:任务构建超时插件 Naginator Plugin:任务重试插件 Build User Vars Plugin:用户变量获取插件 ...

  2. VSCode常用插件汇总

    vscode常用插件汇总: 点击插件名字,查看使用文档 vscode-fileheader : 添加注释到文件头,并支持自动更新文件修改时间. EditorConfig for vs code :   ...

  3. wordpress常用插件汇总

    WordPress之所以能成为目前最具人气的独立博客程序,除了无数爱好者为它开发的主题外,源源不断的插件支持也是重要的原因之一.wordpress的强大,也是在于无数爱好者源源不断的主题和插件. wo ...

  4. gulp常用插件汇总

    1.gulp-sass 预编译 sass 文件为 css 文件,SASS 不多说,如果项目中有使用 sass ,那么这个插件应该是必备的.前面的一篇文章中,已经对该插件有所使用了,可配置编译后输出风格 ...

  5. vue常用插件汇总

    UI-框架element - 饿了么出品的Vue2的web UI工具套件 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开源 UI 组件库 Keen-UI - 轻量 ...

  6. gulp 常用插件汇总

    2017-07-26更新:图片压缩插件使用gulp-smushit,gulp-smushit压缩率比较大,gulp-imagemin 图片压缩插件压缩率不明显. 见下图压缩率: 1.gulp安装 参照 ...

  7. vue本人常用插件汇总(常更新)

    1. 移动端UI插件 mint-ui http://mint-ui.github.io/#!/zh-cn 2.vue状态管理vuex,持久化插件:vuex-persist https://github ...

  8. IDEA常用插件汇总

    actiBPM idea的Activiti插件,不知道Activiti的可以百度下,用到了再来安装这个插件. Alibaba Java Coding Guidelines Alibaba开发的Java ...

  9. VSCode常用插件之ESLint使用

    更多VSCode插件使用请访问:VSCode常用插件汇总 ESLint这是VS Code ESLint扩展,将ESLint JavaScript集成到VS Code中. 首先简单说一下使用流程: 1. ...

随机推荐

  1. 一秒完成springboot与logback配置

    1. 一秒配置与效果 1.1 一秒配置 ​ spring boot中无须添加任何依赖,直接在resources文件夹下面新建logback.xml文件,将以下代码复制过去,配置完成,可以使用了. &l ...

  2. py+selenium运行时报错Can not connect to the Service IEDriverServer.exe

    问题: 运行用例时,出现报错(host文件已加入127.0.0.1 localhost): raise WebDriverException("Can not connect to the ...

  3. [原创]Zabbix3.4_API的python示例

    说明: 1.python版本为:python2.7 2.zabbix版本为:zabbix3.4 3.通过python脚本调用zabbix的api接口可以实现批量增删改查主机的信息. 示例如下: #-* ...

  4. [原创]实现MongoDB数据库审计SQL语句的脚本

    功能:实现具体显示mongodb数据库表操作语句的状态和情况,使用awk和shell实现抓取和分析处理.脚本内容如下: #!/bin/bash if [ $# == 0 ];then echo &qu ...

  5. Sublime Text 3 实现C语言代码的编译和运行

    Sublime Text 3 是一款优秀的代码编辑软件.界面简洁,轻巧快速,很受大家的欢迎. 最近开始用他来编辑数据结构的C语言代码,这就需要在新建编译系统.具体方法如下: 首先: 接下来是关键的一步 ...

  6. 个人永久性免费-Excel催化剂功能第94波-地图数据挖宝之搜索地图上的各种兴趣点数据(商铺名、地名、公共设施等)

    终于来到最激动人心的地图应用场景,将地图上的有价值的兴趣点数据一网打尽,全都收录在自己的数据源中,这个价值有多大,想想都兴奋,无数的商业场景可供挖掘,假如你还无动于衷,那要好好反思下自己做的数据分析的 ...

  7. 爬虫的盗亦有道Robots协议

    爬虫的规定 Robots协议 网站开发者对于网络爬虫的规范的公告,你可以不遵守可能存在法律风险,但尽量去遵守 Robots协议:在网页的根目录+robots.txt Robots协议的基本语法: #注 ...

  8. 端口,OSI7层模型,TCP的三次握手和四次挥手,进度条

    1.端口: 端口是为了将同一个电脑上的不同程序进行隔离 IP是找电脑,端口是找电脑上的程序 MySQL是一个软件,帮助我们在硬盘上进行文件操作,默认端口是3306 Redis是一个软件,帮助我们在内存 ...

  9. cesium 学习(六) 坐标转换

    cesium 学习(六) 坐标转换 一.前言 在场景中,不管是二维还好还是三维也罢,只要涉及到空间概念都会提到坐标,坐标是让我们理解位置的一个非常有效的东西.有了坐标,我们能很快的确定位置相关关系,但 ...

  10. Samba:打造企业级授权文件共享服务器

    写在前面的话 先来说说故事背景:公司内部文件服务器的解决方案其实很多,对于中小型互联网公司,大多的在这一块的选型还是 FTP,或者 VSFTP,但是个人实在是对那个东西喜欢不起来,于是就选择了配置相对 ...