plugins.asciidoc 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. [[modules-plugins]]
  2. == Plugins
  3. [float]
  4. === Plugins
  5. Plugins are a way to enhance the basic elasticsearch functionality in a
  6. custom manner. They range from adding custom mapping types, custom
  7. analyzers (in a more built in fashion), native scripts, custom discovery
  8. and more.
  9. [float]
  10. ==== Installing plugins
  11. Installing plugins can either be done manually by placing them under the
  12. `plugins` directory, or using the `plugin` script. Several plugins can
  13. be found under the https://github.com/elasticsearch[elasticsearch]
  14. organization in GitHub, starting with `elasticsearch-`.
  15. Installing plugins typically take the following form:
  16. [source,shell]
  17. -----------------------------------
  18. plugin --install <org>/<user/component>/<version>
  19. -----------------------------------
  20. The plugins will be
  21. automatically downloaded in this case from `download.elasticsearch.org`,
  22. and in case they don't exist there, from maven (central and sonatype).
  23. Note that when the plugin is located in maven central or sonatype
  24. repository, `<org>` is the artifact `groupId` and `<user/component>` is
  25. the `artifactId`.
  26. A plugin can also be installed directly by specifying the URL for it,
  27. for example:
  28. [source,shell]
  29. -----------------------------------
  30. bin/plugin --url file://path/to/plugin --install plugin-name
  31. -----------------------------------
  32. You can run `bin/plugin -h`.
  33. [float]
  34. ==== Site Plugins
  35. Plugins can have "sites" in them, any plugin that exists under the
  36. `plugins` directory with a `_site` directory, its content will be
  37. statically served when hitting `/_plugin/[plugin_name]/` url. Those can
  38. be added even after the process has started.
  39. Installed plugins that do not contain any java related content, will
  40. automatically be detected as site plugins, and their content will be
  41. moved under `_site`.
  42. The ability to install plugins from Github allows to easily install site
  43. plugins hosted there by downloading the actual repo, for example,
  44. running:
  45. [source,js]
  46. --------------------------------------------------
  47. bin/plugin --install mobz/elasticsearch-head
  48. bin/plugin --install lukas-vlcek/bigdesk
  49. --------------------------------------------------
  50. Will install both of those site plugins, with `elasticsearch-head`
  51. available under `http://localhost:9200/_plugin/head/` and `bigdesk`
  52. available under `http://localhost:9200/_plugin/bigdesk/`.
  53. [float]
  54. ==== Mandatory Plugins
  55. If you rely on some plugins, you can define mandatory plugins using the
  56. `plugin.mandatory` attribute, for example, here is a sample config:
  57. [source,js]
  58. --------------------------------------------------
  59. plugin.mandatory: mapper-attachments,lang-groovy
  60. --------------------------------------------------
  61. For safety reasons, if a mandatory plugin is not installed, the node
  62. will not start.
  63. [float]
  64. ==== Installed Plugins
  65. A list of the currently loaded plugins can be retrieved using the
  66. <<cluster-nodes-info,Node Info API>>.
  67. [float]
  68. === Known Plugins
  69. [float]
  70. ==== Analysis Plugins
  71. * https://github.com/yakaz/elasticsearch-analysis-combo/[Combo Analysis
  72. Plugin] (by Olivier Favre, Yakaz)
  73. * https://github.com/elasticsearch/elasticsearch-analysis-smartcn[Smart
  74. Chinese Analysis Plugin] (by elasticsearch team)
  75. * https://github.com/elasticsearch/elasticsearch-analysis-icu[ICU
  76. Analysis plugin] (by elasticsearch team)
  77. * https://github.com/elasticsearch/elasticsearch-analysis-stempel[Stempel
  78. (Polish) Analysis plugin] (by elasticsearch team)
  79. * https://github.com/chytreg/elasticsearch-analysis-morfologik[Morfologik
  80. (Polish) Analysis plugin] (by chytreg)
  81. * https://github.com/medcl/elasticsearch-analysis-ik[IK Analysis Plugin]
  82. (by Medcl)
  83. * https://github.com/medcl/elasticsearch-analysis-mmseg[Mmseg Analysis
  84. Plugin] (by Medcl)
  85. * https://github.com/jprante/elasticsearch-analysis-hunspell[Hunspell
  86. Analysis Plugin] (by Jörg Prante)
  87. * https://github.com/elasticsearch/elasticsearch-analysis-kuromoji[Japanese
  88. (Kuromoji) Analysis plugin] (by elasticsearch team).
  89. * https://github.com/suguru/elasticsearch-analysis-japanese[Japanese
  90. Analysis plugin] (by suguru).
  91. * https://github.com/imotov/elasticsearch-analysis-morphology[Russian
  92. and English Morphological Analysis Plugin] (by Igor Motov)
  93. * https://github.com/medcl/elasticsearch-analysis-pinyin[Pinyin Analysis
  94. Plugin] (by Medcl)
  95. * https://github.com/medcl/elasticsearch-analysis-string2int[String2Integer
  96. Analysis Plugin] (by Medcl)
  97. * https://github.com/barminator/elasticsearch-analysis-annotation[Annotation
  98. Analysis Plugin] (by Michal Samek)
  99. [float]
  100. ==== River Plugins
  101. * https://github.com/elasticsearch/elasticsearch-river-couchdb[CouchDB
  102. River Plugin] (by elasticsearch team)
  103. * https://github.com/elasticsearch/elasticsearch-river-wikipedia[Wikipedia
  104. River Plugin] (by elasticsearch team)
  105. * https://github.com/elasticsearch/elasticsearch-river-twitter[Twitter
  106. River Plugin] (by elasticsearch team)
  107. * https://github.com/elasticsearch/elasticsearch-river-rabbitmq[RabbitMQ
  108. River Plugin] (by elasticsearch team)
  109. * https://github.com/domdorn/elasticsearch-river-activemq/[ActiveMQ
  110. River Plugin] (by Dominik Dorn)
  111. * https://github.com/albogdano/elasticsearch-river-amazonsqs[Amazon SQS
  112. River Plugin] (by Alex Bogdanovski)
  113. * https://github.com/xxBedy/elasticsearch-river-csv[CSV River Plugin]
  114. (by Martin Bednar)
  115. * http://www.pilato.fr/dropbox/[Dropbox River Plugin] (by David Pilato)
  116. * http://www.pilato.fr/fsriver/[FileSystem River Plugin] (by David
  117. Pilato)
  118. * https://github.com/sksamuel/elasticsearch-river-hazelcast[Hazelcast
  119. River Plugin] (by Steve Samuel)
  120. * https://github.com/jprante/elasticsearch-river-jdbc[JDBC River Plugin]
  121. (by Jörg Prante)
  122. * https://github.com/qotho/elasticsearch-river-jms[JMS River Plugin] (by
  123. Steve Sarandos)
  124. * https://github.com/tlrx/elasticsearch-river-ldap[LDAP River Plugin]
  125. (by Tanguy Leroux)
  126. * https://github.com/richardwilly98/elasticsearch-river-mongodb/[MongoDB
  127. River Plugin] (by Richard Louapre)
  128. * https://github.com/sksamuel/elasticsearch-river-neo4j[Neo4j River
  129. Plugin] (by Steve Samuel)
  130. * https://github.com/jprante/elasticsearch-river-oai/[Open Archives
  131. Initiative (OAI) River Plugin] (by Jörg Prante)
  132. * https://github.com/sksamuel/elasticsearch-river-redis[Redis River
  133. Plugin] (by Steve Samuel)
  134. * http://dadoonet.github.com/rssriver/[RSS River Plugin] (by David
  135. Pilato)
  136. * https://github.com/adamlofts/elasticsearch-river-sofa[Sofa River
  137. Plugin] (by adamlofts)
  138. * https://github.com/javanna/elasticsearch-river-solr/[Solr River
  139. Plugin] (by Luca Cavanna)
  140. * https://github.com/sunnygleason/elasticsearch-river-st9[St9 River
  141. Plugin] (by Sunny Gleason)
  142. * https://github.com/endgameinc/elasticsearch-river-kafka[Kafka River
  143. Plugin] (by Endgame Inc.)
  144. * https://github.com/obazoud/elasticsearch-river-git[Git River Plugin] (by Olivier Bazoud)
  145. [float]
  146. ==== Transport Plugins
  147. * https://github.com/elasticsearch/elasticsearch-transport-wares[Servlet
  148. transport] (by elasticsearch team)
  149. * https://github.com/elasticsearch/elasticsearch-transport-memcached[Memcached
  150. transport plugin] (by elasticsearch team)
  151. * https://github.com/elasticsearch/elasticsearch-transport-thrift[Thrift
  152. Transport] (by elasticsearch team)
  153. * https://github.com/tlrx/transport-zeromq[ZeroMQ transport layer
  154. plugin] (by Tanguy Leroux)
  155. * https://github.com/sonian/elasticsearch-jetty[Jetty HTTP transport
  156. plugin] (by Sonian Inc.)
  157. [float]
  158. ==== Scripting Plugins
  159. * https://github.com/elasticsearch/elasticsearch-lang-python[Python
  160. language Plugin] (by elasticsearch team)
  161. * https://github.com/elasticsearch/elasticsearch-lang-javascript[JavaScript
  162. language Plugin] (by elasticsearch team)
  163. * https://github.com/elasticsearch/elasticsearch-lang-groovy[Groovy lang
  164. Plugin] (by elasticsearch team)
  165. * https://github.com/hiredman/elasticsearch-lang-clojure[Clojure
  166. Language Plugin] (by Kevin Downey)
  167. [float]
  168. ==== Site Plugins
  169. * https://github.com/lukas-vlcek/bigdesk[BigDesk Plugin] (by Lukáš Vlček)
  170. * https://github.com/mobz/elasticsearch-head[Elasticsearch Head Plugin]
  171. (by Ben Birch)
  172. * https://github.com/royrusso/elasticsearch-HQ[ElasticSearch HQ] (by Roy
  173. Russo)
  174. * https://github.com/karmi/elasticsearch-paramedic[Paramedic Plugin] (by
  175. Karel Minařík)
  176. * https://github.com/polyfractal/elasticsearch-segmentspy[SegmentSpy
  177. Plugin] (by Zachary Tong)
  178. * https://github.com/polyfractal/elasticsearch-inquisitor[Inquisitor
  179. Plugin] (by Zachary Tong)
  180. * https://github.com/andrewvc/elastic-hammer[Hammer Plugin] (by Andrew
  181. Cholakian)
  182. [float]
  183. ==== Misc Plugins
  184. * https://github.com/elasticsearch/elasticsearch-mapper-attachments[Mapper
  185. Attachments Type plugin] (by elasticsearch team)
  186. * https://github.com/elasticsearch/elasticsearch-hadoop[Hadoop Plugin]
  187. (by elasticsearch team)
  188. * https://github.com/elasticsearch/elasticsearch-cloud-aws[AWS Cloud
  189. Plugin] (by elasticsearch team)
  190. * https://github.com/mattweber/elasticsearch-mocksolrplugin[ElasticSearch
  191. Mock Solr Plugin] (by Matt Weber)
  192. * https://github.com/spinscale/elasticsearch-suggest-plugin[Suggester
  193. Plugin] (by Alexander Reelsen)
  194. * https://github.com/medcl/elasticsearch-partialupdate[ElasticSearch
  195. PartialUpdate Plugin] (by Medcl)
  196. * https://github.com/sonian/elasticsearch-zookeeper[ZooKeeper Discovery
  197. Plugin] (by Sonian Inc.)
  198. * https://github.com/derryx/elasticsearch-changes-plugin[ElasticSearch
  199. Changes Plugin] (by Thomas Peuss)
  200. * http://tlrx.github.com/elasticsearch-view-plugin[ElasticSearch View
  201. Plugin] (by Tanguy Leroux)
  202. * https://github.com/viniciusccarvalho/elasticsearch-newrelic[ElasticSearch
  203. New Relic Plugin] (by Vinicius Carvalho)
  204. * https://github.com/endgameinc/elasticsearch-term-plugin[Terms
  205. Component Plugin] (by Endgame Inc.)
  206. * https://github.com/carrot2/elasticsearch-carrot2[carrot2 Plugin]:
  207. Results clustering with carrot2 (by Dawid Weiss)