ElasticSearch5.5.1插件分类

ElasticSearch5.5.1插件分类

附官网介绍:https://www.elastic.co/guide/en/elasticsearch/plugins/5.5/intro.html

一、插件介绍

插件是以自定义方式来增强Elasticsearch的核心功能。插件可以用来添加自定义映射类型,自定义分析器,本地脚本,自定义发现或者其他更多。插件包含JAR文件,但也可能包含脚本和配置文件,必须安装在群集的每个节点。安装后,每个节点必须重新启动后,插件才能运行。自定义元数据集群状态插件需要一个完整的集群重启安装,如X-pack。还可能需要依次重启来升级这种插件。

整体上可以把插件分为两个范畴:

1.核心插件            

这类插件是Elasticsearch项目的一部分。与Elasticsearch在同一时间交付,版本号总是匹配Elasticsearch本身的版本号。这些插件由Elasticsearch开发团队维护,并得到了惊人的社区成员(开源插件)的帮助,问题和bug报告可以报告在GitHub上。            

2.社区贡献            

这类插件不属于Elasticsearch项目。它们由个人开发者或私人公司提供,并拥有自己的许可以及自己的版本控制系统。问题和bug报告可以在社区插件网站看到。

 

二、插件分类

1.API extension plugin(ActionPlugin)

就是扩展ES的API函数的。大部分是用来search和mapping, 比如:

carrot2 Plugin: 用carrot2生成聚类 (by Dawid Weiss)

Elasticsearch Trigram Accelerated Regular Expression Filter: (by Wikimedia Foundation/Nik Everett)

Elasticsearch Experimental Highlighter: (by Wikimedia Foundation/Nik Everett)

Entity Resolution Plugin: 用于摹本识别(by Yann Barraud)

SQL language Plugin: 允许elasticsearch使用SQL语句查询 (by nlpcn)

Elasticsearch Taste Plugin: 基于Mahout的协作过滤实现(by CodeLibs Project)

WebSocket Change Feed Plugin (by ForgeRock/Chris Clifton)

2.Alerting plugins

监控索引,当超越阈值的时候,则自动触发报警(代表插件X-PACK,在你设置了某种查询条件之后,他会周期性的去调用,如果满足条件,则做指定要求做的事)

3.Analysis plugins

分析插件,简单说,就是制定建立索引规则的插件,比如:

ICU,使用ICU库增加了扩展的Unicode支持,包括对亚洲语言的更好分析、Unicode规范化、Unicode识别的案例折叠、校对支持和音译

SmartCN,就是一个中文分词插件,根据中文来建立索引(而不是英文的空格),以句,词发方式建立索引。使用概率知识来寻找最优的词切分。

Kuromoji,对日语使用Kuromoji分析插件进行了深入的分析。语音用Soundex、音变音、Caverphone和其他编解码器在语音中进行语音分析。

Stempel,为波兰语提供高质量的分析。

Ukrainian,为乌克兰提供了支持。等。

4.Discovery plugins

发现插件,简单的说。就是集群如何发现属于自己的服务器。按照官方的说法,就是在一个cluster中,如何选举出一个主要的node。

5.The ingest plugins

这个插件的主要功能就是增强每个节点的功能。比如:

Ingest Attcahment Processor Plugin,就可以让每个节点解压文件,处理诸如PPT ,XLD ,PDF的文件格式。

Ingest Geoip Processor Plugin,摄取Geoip处理器插件,Geoip处理器根据来自max心智数据库的数据,添加关于IP地址的地理位置的信息。此处理器在geoip字段下默认添加此信息。

6.Management plugins

管理类插件,当然是对ES进行交互和管理(比如X-PACK)。

7.Mapper plugins

这类插件主要就是增强ES的数据类型。比如增加一个attachment类型,里面可以放PDF或者WORD数据。

8.Scripting plugins

这类插件本质来说,就是会调用用户的脚本,所以可以执行任何的程序,举例的话,可以通过这个插件,支持javascript语言,python语言,也可以是用户自定义的任何语言或者程序。

9.Security plugins

提供安全控制的插件,比如X-PACK可以提供权限管理, X-PACK是一种Elastic的产品,它使任何人都可以轻松地将企业级安全性添加到其Elastic堆栈中。即使面对今天使用Elastic栈的成千上万企业日益增长的安全需求,x-pack在保护数据时仍保持一直平常心。

10. Snapshot/Restore Repository Plugins

提供快照和恢复,简单的理解,就是你把数据放在了服务器上,别人可以通过共享文件夹访问你的数据,也可以通过共享文件夹恢复你的数据。目前ES的核心插件已经支持S3,HDFS等很多访问方式。

11.Store plugins

我们知道ES实际使用的是Lucene 来进行存储的。我们也可以采用Store SMB.(windows的共享文件协议)。

 

三、集成工具

集成不是插件,而是外部工具或模块,使与Elasticsearch的工作更容易。

 

1. 内容管理系统(CMS

Drupal:Drupal是使用PHP语言编写的开源内容管理框架(CMF)

Wp-Elasticsearch: ES的 WordPress 插件 即WordPress可以直接使用ES

还有Elasticsearch, Tiki Wiki Cms Groupware  XWIKI Next Generation Wiki

2. 数据导入导出和校验

LogStash output to ES 和ES input to LogStash

ES event filtering in Logstash

ES bulk codec

JDBC importer : 将jdbc的源数据导入到ES

Kafka Standalone consumer(Indexer) :将kafka数据导入ES

Mongolastic : 将ES数据导入MongoDB

Scrutineer: 索引和内容的校验工具

IMAP/POP3/MAIL importer : 将IMAP POP3 的数据导入到ES(邮箱数据也能进ES啦)

FS Crawler: 索引文件系统(如PDF ,OPEN OFFICE……)本地的,或者通过SSH

3. 部署

ES 提供Puppet  

社区提供Chef

4. 集成框架

Aspire for Elasticsearch:为非结构化数据设计的强大的连接器和处理框架。它有连接到内部和外部的存储库,包括SharePoint、文档、Jive、RDB、文件系统、网站和更多的信息,并且可以在进行Elastic搜索之前对这些数据进行转换和标准化。

Apache Camel Integration: 一个Apache Camel组件,可以集成Elastic搜索。

Catmanadu: 一个基于Elastic搜索的后端框架。

elasticsearch-test:使用JUnit进行单元测试的Elastic搜索Java注释。

FOSElasticaBundle: Symfony2 Bundle wrapping Elastica.

Grails: Elasticsearch Grails插件。

Haystack: 对Django的模块化搜索。

Hibernate Search Integration:从Hibernate团队中获得Hibernate ORM。读取操作自动同步,但对查询提供了完整的Elastic搜索功能。既可以返回Elastic搜索,也可以将查询返回到从引用数据库中加载的管理实体中。

play2-elasticsearch: Elasticsearch 的Play Framework 2.x模块。

Spring Data Elasticsearch: Spring Data implementation for Elasticsearch 。

Spring Elasticsearch: Spring Factory for Elasticsearch 。

Twitter Storehaus: 为Storehaus的轻量级异步Scala客户端。

es-Hadoop: Elastic搜索和分析本地集成的Hadoop。支持Map/Reduce, Cascading, Apache Hive, Apache Pig, Apache Spark 和 Apache Storm。

还有健康和性能监控和其他集成框架等。

原文地址:https://www.cnblogs.com/binshen/p/7422816.html