Plugins are a way to enhance the basic elasticsearch functionality in a custom manner. They range from adding custom mapping types, custom analyzers (in a more built in fashion), native scripts, custom discovery and more.
Installing plugins can either be done manually by placing them under the plugins directory, or using the plugin script. Several plugins can be found under the elasticsearch organization in GitHub, starting with elasticsearch-.
Plugins can also be automatically downloaded and installed from gitub using: user_name/repo_name structure, or, for explicit versions, using user_name/repo_name/version_number. When no version number is specified, first a version based on the elasticsearch version is tried, and if it does not work, then master is used.
Plugins can have “sites” in them, any plugin that exists under the plugins directory with a _site directory, its content will be statically served when hitting /_plugin/[plugin_name]/ url. Those can be added even after the process has started.
Installed plugins that do not contain any java related content, will automatically be detected as site plugins, and their content will be moved under _site.
The ability to install plugins from github allows to easily install site plugins hosted there, for example, running:
bin/plugin -install Aconex/elasticsearch-head bin/plugin -install lukas-vlcek/bigdesk
Will install both of those site plugins, with elasticsearch-head available under http://localhost:9200/_plugin/head/ and bigdesk available under http://localhost:9200/_plugin/bigdesk/.
If you rely on some plugins, you can define mandatory plugins using the plugin.mandatory attribute, for example, here is a sample config:
For safety reasons, if a mandatory plugin is not installed, the node will not start.
- Smart Chinese Analysis Plugin (by elasticsearch team)
- ICU Analysis plugin (by elasticsearch team)
- Stempel (Polish) Analysis plugin (by elasticsearch team)
- IK Analysis Plugin (by Medcl)
- Mmseg Analysis Plugin (by Medcl)
- Hunspell Analysis Plugin (by Jörg Prante)
- Japanese (Kuromoji) Analysis plugin (by elasticsearch team).
- Japanese Analysis plugin (by suguru).
- Russian and English Morphological Analysis Plugin (by Igor Motov)
- Pinyin Analysis Plugin (by Medcl)
- CouchDB River Plugin (by elasticsearch team)
- Wikipedia River Plugin (by elasticsearch team)
- Twitter River Plugin (by elasticsearch team)
- RabbitMQ River Plugin (by elasticsearch team)
- RSS River Plugin (by David Pilato)
- MongoDB River Plugin (by Richard Louapre)
- Open Archives Initiative (OAI) River Plugin (by Jörg Prante)
- St9 River Plugin (by Sunny Gleason)
- Sofa River Plugin (by adamlofts)
- Amazon SQS River Plugin (by Alex B)
- JDBC River Plugin (by Jörg Prante)
- FileSystem River Plugin (by David Pilato)
- Mapper Attachments Type plugin (by elasticsearch team)
- Hadoop Plugin (by elasticsearch team)
- AWS Cloud Plugin (by elasticsearch team)
- ElasticSearch Mock Solr Plugin (by Matt Weber)
- Suggester Plugin (by Alexander Reelsen)
- ElasticSearch PartialUpdate Plugin (by Medcl)
- ZooKeeper Discovery Plugin (by Sonian Inc.)