ElasticSearch is designed to be extended with plugins to improve its capabilities. In the previous chapters, we installed and used a lot of them (Transport, River, and Scripting plugins).
The plugins are application extensions that can cover a lot of aspects of ElasticSearch. They can have the following usages:
Adding new transport layer (thrift and memcached plugins are examples of this type)
Adding new language scripting (that is, Python and JavaScript plugins)
Extending Lucene supported analyzers and tokenizers
Using the native scripting for speeding up computation of scores, filters, and field manipulations
Extending node capabilities, for example, creating a Node plugin that can execute your logic
Adding a new river to support new sources
Monitoring and administering the cluster
ElasticSearch plugins are of two different kinds: site and jar plugins.
The site plugin is generally a standard HTML5 web application. The jar-native one is a standard Java JAR file with some extra resources...