Plugins for Elasticsearch 6
Introduction
There are many different types of plugins for Elasticsearch 6, all designed to improve Elasticsearch’s core functions. Plugins include JAR files and may also use scripts and configuration files. Plugins range from adding custom analyzers, discovery, mapping types and native scripts. To function properly, plugins must be installed on every node in the cluster. A cluster restart is required for the plugin to become visible after installation. However, in some cases, it is possible to upgrade some plugins with a rolling restart. The two categories of plugins are:
- Core Plugins
Identify plugins that are included with the Elasticsearch project. As such, a core plugin version number will match the Elasticsearch version number. Open-source core plugins are maintained by Elastic, with the aid of community members. Bugs and other issues are reported on the Github project page.
- Community-Contributed Plugins
These plugins are not part of the Elasticsearch project and are created by individual developers, including private companies. Community-contributed plugins have separate licensing version methods. Bugs and other issues are typically reported on the community’s plugin website.
Core Plugins
1) Alerting plugins are designed to trigger alerts whenever some type of threshold is breached:
- The X-Pack is the alerting and notification component for Elasticsearch that permits actions in regards to changes in data. The X-Pack allows an alert to be set on anything that can be defined, such as a condition, schedule or query.
2) Analysis plugins for Elasticsearch 6 broaden Elasticsearch functionality by adding new analyzers, character filters and token filters. There are also community-contributed analysis plugins. The core Elasticsearch analysis plugins include:
- ICU improves analysis of Asian languages.
- Kuromoji provides for advanced analysis of Japanese.
- Nori provides morphological analysis of Korean.
- Phonetic provides for analysis of tokens into a phonetic equivalent.
- SmartCN analysis of Chinese or mixed Chinese-English.
- Stempel provides analysis of Polish.
- Ukrainian provides analysis of Ukrainian.
3) Discovery plugins add new seed-host providers to increase the cluster-formation module. There are also community-contributed discovery plugins. Core discovery plugins include:
- EC2 discovery plugin employs the AWS API to determine the seed host’s address.
- Azure Classic discovery plugin employs the Azure Classic API to determine the seed host’s address.
- Google Compute Engine discovery employs the GCE API to determine the seed host’s address.
4) Ingest plugins increase the ingest-node capabilities of Elasticsearch. There are also community-contributed ingest plugins. Core ingest plugins include:
- Ingest attachment processor plugin allows for the extraction of file attachments in common formats, like PDF and PPT.
- Ingest
geoip
processor plugin employs Maxmind databases to obtain the geographical location of IP addresses. Note that thegeoip
processor is now distributed by default with Elasticsearch and is no longer available as a stand-alone plugin. - Ingest
user_agent
processor plugin extracts details from theuser_agent
header value. Theuser_agent
processor is now distributed by default with Elasticsearch.
5) Mapper plugins permit new-field datatypes be added to Elasticsearch. Core mapper plugins include:
- Mapper-size plugin provides the
size-
meta field to index the size of the primarysource
field. - Mapper mapper-murmur3 plugin allows for the index-time calculation of hashes and uses the
cardinality
aggregation to store the index for later use. - Mapper annotated text plugin gives Elasticsearch the ability to index the combined free and special markup text that typically identifies specific items of interest, such as individuals or groups.
6) Core security plugins:
- The X-Pack plugin is also designed for adding high-grade security to the Elastic Stack. There is also currently one community-contributed security plugin.
7) Snapshot/restore repository plugins enhance the restorative features of Elasticsearch with the addition of cloud or distributed-file systems repositories. There are also community-contributed repository plugins. Core repository plugins include:
- S3 Repository plugin increases Elasticsearch support when using S3 for a repository.
- Azure repository plugin increases Elasticsearch support when using Azure for a repository.
- HDFS repository plugin increases Elasticsearch support when using HDFS for a repository.
- Google cloud storage repository plugin increases Elasticsearch support when using Google cloud storage service for a repository.
8) Core store plugins offer alternatives to default Lucene stores:
- Store SMB plugin deals with a Windows SMB bug also known to occur when using Java in Windows.
Community-Contributed Plugins for Elasticsearch 6
1) Community-contributed API extension plugins give Elasticsearch increased functionality through adding new APIs, typically for search and mapping. Community-contributed API extension plugins include:
- Carrot2 plugin is a library and supporting applications for building a search-results engine.
- Trigram Accelerated Regular Expression filter increases search speed.
- Elasticsearch Experimental Highlighter enables highlighting of snippets from search results.
- Entity Resolution allows for linking and grouping of different entities, such as names, addresses or photos.
- PQL languageallows for querying with simple pipeline syntax.
- Elasticsearch Taste is a collaborative filtering tool.
2) Community-contributed analysis plugins also broaden Elasticsearch functionality just like core analysis plugins and include:
- Dandelion Analysis
- Hebrew Analysis
- IK Analysis
- Mmseg Analysis
- Network Addresses Analysis
- Pinyin Analysis
- Russian and English Morphological Analysis
- STConvert Analysis
- String2Integer Analysis
- Vietnamese Analysis
3) Community-contributed discovery plugins:
- The Kubernetes cloud plugin employs Kubernetes API for calling the unicast discovery mechanism.
4) Community-contributed ingest plugins:
- The Ingest CSV processor plugin is designed to parse CSV data and then store the data as individual fields.
5) Community-contributed security plugins:
- The Readonly REST security plugin is a high-performance, native REST API access control.
6) Community-contributed repository plugins:
- The Openstack Swift plugin allows for cloud-storage software to store and retrieve data with a simple API. Note that Swift has some logging dependencies, so be careful when debugging in Eclipse.
Conclusion
The Plugins for Elasticsearch 6 are designed to improve database functionality and increase speed. This is not the full list of plugins for Elasticsearch 6, and more plugins are constantly being created and released. Be sure to check frequently for new plugins to stay up to date. Note that all plugins for Elasticsearch 6 must contain a plugin-descriptor.properties
file. Also, remember that a cluster restart is required after installation for some plugins to become visible.
Pilot the ObjectRocket Platform Free!
Try Fully-Managed CockroachDB, Elasticsearch, MongoDB, PostgreSQL (Beta) or Redis.
Get Started