index.asciidoc 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. = Community Contributed Clients
  2. [preface]
  3. == Preface
  4. :client: https://www.elastic.co/guide/en/elasticsearch/client
  5. Besides the link:/guide[officially supported Elasticsearch clients], there are
  6. a number of clients that have been contributed by the community for various languages:
  7. * <<b4j>>
  8. * <<cpp>>
  9. * <<clojure>>
  10. * <<coldfusion>>
  11. * <<erlang>>
  12. * <<go>>
  13. * <<groovy>>
  14. * <<haskell>>
  15. * <<java>>
  16. * <<javascript>>
  17. * <<kotlin>>
  18. * <<lua>>
  19. * <<dotnet>>
  20. * <<ocaml>>
  21. * <<perl>>
  22. * <<php>>
  23. * <<python>>
  24. * <<r>>
  25. * <<ruby>>
  26. * <<rust>>
  27. * <<scala>>
  28. * <<smalltalk>>
  29. * <<vertx>>
  30. [[b4j]]
  31. == B4J
  32. * https://www.b4x.com/android/forum/threads/server-jelasticsearch-search-and-text-analytics.73335/
  33. B4J client based on the official Java REST client.
  34. [[cpp]]
  35. == C++
  36. * https://github.com/seznam/elasticlient[elasticlient]: simple library for simplified work with Elasticsearch in C++
  37. [[clojure]]
  38. == Clojure
  39. * https://github.com/mpenet/spandex[Spandex]:
  40. Clojure client, based on the new official low level rest-client.
  41. * http://github.com/clojurewerkz/elastisch[Elastisch]:
  42. Clojure client.
  43. [[coldfusion]]
  44. == ColdFusion (CFML)
  45. * https://www.forgebox.io/view/cbelasticsearch[cbElasticSearch]
  46. Native ColdFusion (CFML) support for the ColdBox MVC Platform which provides you with a fluent search interface for Elasticsearch, in addition to a CacheBox Cache provider and a Logbox Appender for logging.
  47. The following project appears to be abandoned:
  48. * https://github.com/jasonfill/ColdFusion-ElasticSearch-Client[ColdFusion-Elasticsearch-Client]
  49. ColdFusion client for Elasticsearch
  50. [[erlang]]
  51. == Erlang
  52. * http://github.com/tsloughter/erlastic_search[erlastic_search]:
  53. Erlang client using HTTP.
  54. * https://github.com/dieswaytoofast/erlasticsearch[erlasticsearch]:
  55. Erlang client using Thrift.
  56. * https://github.com/datahogs/tirexs[Tirexs]:
  57. An https://github.com/elixir-lang/elixir[Elixir] based API/DSL, inspired by
  58. http://github.com/karmi/tire[Tire]. Ready to use in pure Erlang
  59. environment.
  60. [[go]]
  61. == Go
  62. * https://github.com/mattbaird/elastigo[elastigo]:
  63. Go client.
  64. * https://github.com/belogik/goes[goes]:
  65. Go lib.
  66. * https://github.com/olivere/elastic[elastic]:
  67. Elasticsearch client for Google Go.
  68. * https://github.com/softctrl/elk[elk]
  69. Golang lib for Elasticsearch client.
  70. [[groovy]]
  71. == Groovy
  72. See the {client}/groovy-api/current/index.html[official Elasticsearch Groovy client].
  73. [[haskell]]
  74. == Haskell
  75. * https://github.com/bitemyapp/bloodhound[bloodhound]:
  76. Haskell client and DSL.
  77. [[java]]
  78. == Java
  79. Also see the {client}/java-api/current/index.html[official Elasticsearch Java client].
  80. * https://github.com/otto-de/flummi[Flummi]:
  81. Java Rest client with comprehensive query DSL API
  82. * https://github.com/searchbox-io/Jest[Jest]:
  83. Java Rest client.
  84. [[javascript]]
  85. == JavaScript
  86. Also see the {client}/javascript-api/current/index.html[official Elasticsearch JavaScript client].
  87. * https://github.com/fullscale/elastic.js[Elastic.js]:
  88. A JavaScript implementation of the Elasticsearch Query DSL and Core API.
  89. * https://github.com/printercu/elastics[elastics]: Simple tiny client that just works
  90. * https://github.com/roundscope/ember-data-elasticsearch-kit[ember-data-elasticsearch-kit]:
  91. An ember-data kit for both pushing and querying objects to Elasticsearch cluster
  92. The following project appears to be abandoned:
  93. * https://github.com/ramv/node-elastical[node-elastical]:
  94. Node.js client for the Elasticsearch REST API
  95. [[kotlin]]
  96. == Kotlin
  97. * https://github.com/mbuhot/eskotlin[ES Kotlin]:
  98. Elasticsearch Query DSL for kotlin based on the {client}/java-api/current/index.html[official Elasticsearch Java client].
  99. * https://github.com/jillesvangurp/es-kotlin-wrapper-client[ES Kotlin Wrapper Client]:
  100. Kotlin extension functions and abstractions for the {client}/java-api/current/index.html[official Elasticsearch Highlevel Client]. Aims to reduce the amount of boilerplate needed to do searches, bulk indexing and other common things users do with the client.
  101. [[lua]]
  102. == Lua
  103. * https://github.com/DhavalKapil/elasticsearch-lua[elasticsearch-lua]:
  104. Lua client for Elasticsearch
  105. [[dotnet]]
  106. == .NET
  107. Also see the {client}/net-api/current/index.html[official Elasticsearch .NET client].
  108. * https://github.com/Yegoroff/PlainElastic.Net[PlainElastic.Net]:
  109. .NET client.
  110. [[ocaml]]
  111. == OCaml
  112. The following project appears to be abandoned:
  113. * https://github.com/tovbinm/ocaml-elasticsearch[ocaml-elasticsearch]:
  114. OCaml client for Elasticsearch
  115. [[perl]]
  116. == Perl
  117. Also see the {client}/perl-api/current/index.html[official Elasticsearch Perl client].
  118. * https://metacpan.org/pod/Elastijk[Elastijk]: A low level minimal HTTP client.
  119. [[php]]
  120. == PHP
  121. Also see the {client}/php-api/current/index.html[official Elasticsearch PHP client].
  122. * http://github.com/ruflin/Elastica[Elastica]:
  123. PHP client.
  124. * http://github.com/nervetattoo/elasticsearch[elasticsearch] PHP client.
  125. * https://github.com/madewithlove/elasticsearcher[elasticsearcher] Agnostic lightweight package on top of the Elasticsearch PHP client. Its main goal is to allow for easier structuring of queries and indices in your application. It does not want to hide or replace functionality of the Elasticsearch PHP client.
  126. [[python]]
  127. == Python
  128. Also see the {client}/python-api/current/index.html[official Elasticsearch Python client].
  129. * http://github.com/rhec/pyelasticsearch[pyelasticsearch]:
  130. Python client.
  131. * https://github.com/eriky/ESClient[ESClient]:
  132. A lightweight and easy to use Python client for Elasticsearch.
  133. * https://github.com/mozilla/elasticutils/[elasticutils]:
  134. A friendly chainable Elasticsearch interface for Python.
  135. * http://github.com/aparo/pyes[pyes]:
  136. Python client.
  137. The following projects appear to be abandoned:
  138. * https://github.com/humangeo/rawes[rawes]:
  139. Python low level client.
  140. * http://intridea.github.io/surfiki-refine-elasticsearch/[Surfiki Refine]:
  141. Python Map-Reduce engine targeting Elasticsearch indices.
  142. [[r]]
  143. == R
  144. * https://github.com/ropensci/elastic[elastic]:
  145. A low-level R client for Elasticsearch.
  146. * https://github.com/ropensci/elasticdsl[elasticdsl]:
  147. A high-level R DSL for Elasticsearch, wrapping the elastic R client.
  148. * https://github.com/UptakeOpenSource/uptasticsearch[uptasticsearch]:
  149. An R client tailored to data science workflows.
  150. The following projects appear to be abandoned:
  151. * https://github.com/Tomesch/elasticsearch[elasticsearch]
  152. R client for Elasticsearch
  153. [[ruby]]
  154. == Ruby
  155. Also see the {client}/ruby-api/current/index.html[official Elasticsearch Ruby client].
  156. * https://github.com/PoseBiz/stretcher[stretcher]:
  157. Ruby client.
  158. * https://github.com/printercu/elastics-rb[elastics]:
  159. Tiny client with built-in zero-downtime migrations and ActiveRecord integration.
  160. * https://github.com/toptal/chewy[chewy]:
  161. Chewy is an ODM and wrapper for the official Elasticsearch client
  162. * https://github.com/ankane/searchkick[Searchkick]:
  163. Intelligent search made easy
  164. * https://github.com/artsy/estella[Estella]:
  165. Make your Ruby models searchable
  166. The following projects appear to be abandoned:
  167. * https://github.com/wireframe/elastic_searchable/[elastic_searchable]:
  168. Ruby client + Rails integration.
  169. * https://github.com/ddnexus/flex[Flex]:
  170. Ruby Client.
  171. [[rust]]
  172. == Rust
  173. * https://github.com/benashford/rs-es[rs-es]:
  174. A REST API client with a strongly-typed Query DSL.
  175. * https://github.com/elastic-rs/elastic[elastic]:
  176. A modular REST API client that supports freeform queries.
  177. [[scala]]
  178. == Scala
  179. * https://github.com/sksamuel/elastic4s[elastic4s]:
  180. Scala DSL.
  181. * https://github.com/gphat/wabisabi[wabisabi]:
  182. Asynchronous REST API Scala client.
  183. * https://github.com/workday/escalar[escalar]:
  184. Type-safe Scala wrapper for the REST API.
  185. * https://github.com/SumoLogic/elasticsearch-client[elasticsearch-client]:
  186. Scala DSL that uses the REST API. Akka and AWS helpers included.
  187. The following projects appear to be abandoned:
  188. * https://github.com/scalastuff/esclient[esclient]:
  189. Thin Scala client.
  190. * https://github.com/bsadeh/scalastic[scalastic]:
  191. Scala client.
  192. [[smalltalk]]
  193. == Smalltalk
  194. * https://github.com/newapplesho/elasticsearch-smalltalk[elasticsearch-smalltalk] -
  195. Pharo Smalltalk client for Elasticsearch
  196. * http://ss3.gemstone.com/ss/Elasticsearch.html[Elasticsearch] -
  197. Smalltalk client for Elasticsearch
  198. [[vertx]]
  199. == Vert.x
  200. * https://github.com/goodow/realtime-search[realtime-search]:
  201. Elasticsearch module for Vert.x