Elasticsearch is designed to be extended with plugins to improve its capabilities. In the previous chapters, we installed and used many of them (new queries, REST endpoints, and scripting plugins).
Plugins are application extensions that can add many features to Elasticsearch. They can have several usages, such as the following:
- Adding a new scripting language (that is, Python and JavaScript plugins)
- Adding new aggregation types
- Extending Lucene-supported analyzers and tokenizers
- Using native scripting to speed up computation of scores, filters, and field manipulation
- Extending node capabilities, for example, creating a node plugin that can execute your logic
- Monitoring and administering clusters
In this chapter, the Java language will be used to develop a native plugin, but it is possible to use any JVM language that generates JAR files.
The standard tools...