One of the main features of Elasticsearch is the possibility to extend it with plugins. Plugins extend Elasticsearch features and functionalities in several ways.
In Elasticsearch, these plugins are native plugins. These are JAR files that contain application code, and are used for the following reasons:
- Script engines
- Custom analyzers, tokenizers, and scoring
- Custom mapping
- REST entry points
- Ingestion pipeline stages
- Supporting new storages (Hadoop, GCP Cloud Storage)
- Extending X-Pack (that is, with a custom authorization provider)