1. 程式人生 > >ElasticSearch5.5.1插件分類

ElasticSearch5.5.1插件分類

one ext 類型 訪問方式 如果 .html 插件 ssi 規則

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。

還有健康和性能監控和其他集成框架等。

ElasticSearch5.5.1插件分類