index.asciidoc 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. = Community Contributed Clients
  2. [preface]
  3. == Preface
  4. :client: https://www.elastic.co/guide/en/elasticsearch/client
  5. [NOTE]
  6. ====
  7. This is a list of clients submitted by members of the Elastic community.
  8. Elastic does not support or endorse these clients.
  9. If you'd like to add a new client to this list, please
  10. https://github.com/elastic/elasticsearch/blob/master/CONTRIBUTING.md#contributing-code-and-documentation-changes[open a pull request].
  11. ====
  12. Besides the link:/guide[officially supported Elasticsearch clients], there are
  13. a number of clients that have been contributed by the community for various languages:
  14. * <<b4j>>
  15. * <<cpp>>
  16. * <<clojure>>
  17. * <<coldfusion>>
  18. * <<erlang>>
  19. * <<go>>
  20. * <<haskell>>
  21. * <<java>>
  22. * <<javascript>>
  23. * <<kotlin>>
  24. * <<lua>>
  25. * <<dotnet>>
  26. * <<perl>>
  27. * <<php>>
  28. * <<python>>
  29. * <<r>>
  30. * <<ruby>>
  31. * <<rust>>
  32. * <<scala>>
  33. * <<smalltalk>>
  34. * <<swift>>
  35. * <<vertx>>
  36. [[b4j]]
  37. == B4J
  38. * https://www.b4x.com/android/forum/threads/server-jelasticsearch-search-and-text-analytics.73335/[jElasticsearch]:
  39. B4J client based on the official Java REST client.
  40. [[cpp]]
  41. == C++
  42. * https://github.com/seznam/elasticlient[elasticlient]: simple library for
  43. simplified work with Elasticsearch in C++.
  44. [[clojure]]
  45. == Clojure
  46. * https://github.com/mpenet/spandex[Spandex]:
  47. Clojure client, based on the new official low-level REST client.
  48. * https://github.com/clojurewerkz/elastisch[Elastisch]:
  49. Clojure client.
  50. [[coldfusion]]
  51. == ColdFusion (CFML)
  52. * https://www.forgebox.io/view/cbelasticsearch[cbElasticSearch]:
  53. Native ColdFusion (CFML) support for the ColdBox MVC Platform which provides
  54. you with a fluent search interface for Elasticsearch, in addition to a
  55. CacheBox Cache provider and a Logbox Appender for logging.
  56. [[erlang]]
  57. == Erlang
  58. * https://github.com/tsloughter/erlastic_search[erlastic_search]:
  59. Erlang client using HTTP.
  60. * https://github.com/datahogs/tirexs[Tirexs]:
  61. An https://github.com/elixir-lang/elixir[Elixir] based API/DSL, inspired by
  62. https://github.com/karmi/tire[Tire]. Ready to use in pure Erlang
  63. environment.
  64. * https://github.com/sashman/elasticsearch_elixir_bulk_processor[Elixir Bulk
  65. Processor]: Dynamically configurable Elixir port of the
  66. {client}/java-api/current/java-docs-bulk-processor.html[Bulk Processor].
  67. Implemented using GenStages to handle back pressure.
  68. [[go]]
  69. == Go
  70. Also see the {client}/go-api/current/index.html[official Elasticsearch Go
  71. client].
  72. * https://github.com/mattbaird/elastigo[elastigo]:
  73. Go client.
  74. * https://github.com/olivere/elastic[elastic]:
  75. Elasticsearch client for Google Go.
  76. * https://github.com/softctrl/elk[elk]:
  77. Golang lib for Elasticsearch client.
  78. [[haskell]]
  79. == Haskell
  80. * https://github.com/bitemyapp/bloodhound[bloodhound]:
  81. Haskell client and DSL.
  82. [[java]]
  83. == Java
  84. Also see the {client}/java-api/current/index.html[official Elasticsearch Java
  85. client].
  86. * https://github.com/otto-de/flummi[Flummi]:
  87. Java Rest client with comprehensive Query DSL API.
  88. * https://github.com/searchbox-io/Jest[Jest]:
  89. Java Rest client.
  90. [[javascript]]
  91. == JavaScript
  92. See the {client}/javascript-api/current/index.html[official Elasticsearch
  93. JavaScript client].
  94. [[kotlin]]
  95. == Kotlin
  96. * https://github.com/mbuhot/eskotlin[ES Kotlin]:
  97. Elasticsearch Query DSL for kotlin based on the
  98. {client}/java-api/current/index.html[official Elasticsearch Java client].
  99. * https://github.com/jillesvangurp/es-kotlin-wrapper-client[ES Kotlin Wrapper
  100. Client]: Kotlin extension functions and abstractions for the
  101. {client}/java-api/current/index.html[official Elasticsearch high-level
  102. client]. Aims to reduce the amount of boilerplate needed to do searches, bulk
  103. indexing and other common things users do with the client.
  104. [[lua]]
  105. == Lua
  106. * https://github.com/DhavalKapil/elasticsearch-lua[elasticsearch-lua]:
  107. Lua client for Elasticsearch
  108. [[dotnet]]
  109. == .NET
  110. See the {client}/net-api/current/index.html[official Elasticsearch .NET client].
  111. [[perl]]
  112. == Perl
  113. Also see the {client}/perl-api/current/index.html[official Elasticsearch Perl
  114. client].
  115. * https://metacpan.org/pod/Elastijk[Elastijk]: A low-level, minimal HTTP client.
  116. [[php]]
  117. == PHP
  118. Also see the {client}/php-api/current/index.html[official Elasticsearch PHP
  119. client].
  120. * https://github.com/ruflin/Elastica[Elastica]:
  121. PHP client.
  122. * https://github.com/nervetattoo/elasticsearch[elasticsearch]: PHP client.
  123. * https://github.com/madewithlove/elasticsearcher[elasticsearcher]: Agnostic
  124. lightweight package on top of the Elasticsearch PHP client. Its main goal is to
  125. allow for easier structuring of queries and indices in your application. It does
  126. not want to hide or replace functionality of the Elasticsearch PHP client.
  127. [[python]]
  128. == Python
  129. See the {client}/python-api/current/index.html[official Elasticsearch Python
  130. client].
  131. [[r]]
  132. == R
  133. * https://github.com/ropensci/elastic[elastic]:
  134. A low-level R client for Elasticsearch.
  135. * https://github.com/ropensci/elasticdsl[elasticdsl]:
  136. A high-level R DSL for Elasticsearch, wrapping the elastic R client.
  137. * https://github.com/uptake/uptasticsearch[uptasticsearch]:
  138. An R client tailored to data science workflows.
  139. [[ruby]]
  140. == Ruby
  141. Also see the {client}/ruby-api/current/index.html[official Elasticsearch Ruby client].
  142. * https://github.com/printercu/elastics-rb[elastics]:
  143. Tiny client with built-in zero-downtime migrations and ActiveRecord integration.
  144. * https://github.com/toptal/chewy[chewy]:
  145. An ODM and wrapper for the official Elasticsearch client.
  146. * https://github.com/ankane/searchkick[Searchkick]:
  147. Intelligent search made easy.
  148. * https://github.com/artsy/estella[Estella]:
  149. Make your Ruby models searchable.
  150. [[rust]]
  151. == Rust
  152. Also see the {client}/rust-api/current/index.html[official Elasticsearch Rust
  153. client].
  154. * https://github.com/benashford/rs-es[rs-es]:
  155. A REST API client with a strongly-typed Query DSL.
  156. * https://github.com/elastic-rs/elastic[elastic]:
  157. A modular REST API client that supports freeform queries.
  158. [[scala]]
  159. == Scala
  160. * https://github.com/sksamuel/elastic4s[elastic4s]:
  161. Scala DSL.
  162. * https://github.com/gphat/wabisabi[wabisabi]:
  163. Asynchronous REST API Scala client.
  164. * https://github.com/workday/escalar[escalar]:
  165. Type-safe Scala wrapper for the REST API.
  166. * https://github.com/SumoLogic/elasticsearch-client[elasticsearch-client]:
  167. Scala DSL that uses the REST API. Akka and AWS helpers included.
  168. [[smalltalk]]
  169. == Smalltalk
  170. * https://github.com/newapplesho/elasticsearch-smalltalk[elasticsearch-smalltalk]:
  171. Pharo Smalltalk client for Elasticsearch.
  172. [[swift]]
  173. == Swift
  174. * https://github.com/brokenhandsio/elasticsearch-nio-client[Elasticsearch NIO Client]: a library for
  175. working with Elasticsearch in Swift, built on top of SwiftNIO and Swift Package Manager.
  176. [[vertx]]
  177. == Vert.x
  178. * https://github.com/reactiverse/elasticsearch-client[elasticsearch-client]:
  179. An Elasticsearch client for Eclipse Vert.x.