Chapter 16: Plugin Development
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, including the following:
- Adding a new scripting language (that is, Python and JavaScript plugins)
- Adding new aggregation types
- Adding a new ingest processor
- Extending Lucene-supported analyzers and tokenizers
- Using native scripting to speed up the 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 Java virtual machine (JVM) language that generates JAR files.
The standard...