index.asciidoc 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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. * <<vertx>>
  35. [[b4j]]
  36. == B4J
  37. * https://www.b4x.com/android/forum/threads/server-jelasticsearch-search-and-text-analytics.73335/
  38. B4J client based on the official Java REST client.
  39. [[cpp]]
  40. == C++
  41. * https://github.com/seznam/elasticlient[elasticlient]: simple library for simplified work with Elasticsearch in C++
  42. [[clojure]]
  43. == Clojure
  44. * https://github.com/mpenet/spandex[Spandex]:
  45. Clojure client, based on the new official low level rest-client.
  46. * https://github.com/clojurewerkz/elastisch[Elastisch]:
  47. Clojure client.
  48. [[coldfusion]]
  49. == ColdFusion (CFML)
  50. * https://www.forgebox.io/view/cbelasticsearch[cbElasticSearch]
  51. 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.
  52. [[erlang]]
  53. == Erlang
  54. * https://github.com/tsloughter/erlastic_search[erlastic_search]:
  55. Erlang client using HTTP.
  56. * https://github.com/datahogs/tirexs[Tirexs]:
  57. An https://github.com/elixir-lang/elixir[Elixir] based API/DSL, inspired by
  58. https://github.com/karmi/tire[Tire]. Ready to use in pure Erlang
  59. environment.
  60. * https://github.com/sashman/elasticsearch_elixir_bulk_processor[Elixir Bulk Processor]:
  61. Dynamically configurable Elixir port of the [Bulk Processor](https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-bulk-processor.html). Implemented using GenStages to handle backpressure.
  62. [[go]]
  63. == Go
  64. Also see the {client}/go-api/current/index.html[official Elasticsearch Go client].
  65. * https://github.com/mattbaird/elastigo[elastigo]:
  66. Go client.
  67. * https://github.com/olivere/elastic[elastic]:
  68. Elasticsearch client for Google Go.
  69. * https://github.com/softctrl/elk[elk]
  70. Golang lib for Elasticsearch client.
  71. [[haskell]]
  72. == Haskell
  73. * https://github.com/bitemyapp/bloodhound[bloodhound]:
  74. Haskell client and DSL.
  75. [[java]]
  76. == Java
  77. Also see the {client}/java-api/current/index.html[official Elasticsearch Java client].
  78. * https://github.com/otto-de/flummi[Flummi]:
  79. Java Rest client with comprehensive query DSL API
  80. * https://github.com/searchbox-io/Jest[Jest]:
  81. Java Rest client.
  82. [[javascript]]
  83. == JavaScript
  84. Also see the {client}/javascript-api/current/index.html[official Elasticsearch JavaScript client].
  85. [[kotlin]]
  86. == Kotlin
  87. * https://github.com/mbuhot/eskotlin[ES Kotlin]:
  88. Elasticsearch Query DSL for kotlin based on the {client}/java-api/current/index.html[official Elasticsearch Java client].
  89. * https://github.com/jillesvangurp/es-kotlin-wrapper-client[ES Kotlin Wrapper Client]:
  90. 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.
  91. [[lua]]
  92. == Lua
  93. * https://github.com/DhavalKapil/elasticsearch-lua[elasticsearch-lua]:
  94. Lua client for Elasticsearch
  95. [[dotnet]]
  96. == .NET
  97. Also see the {client}/net-api/current/index.html[official Elasticsearch .NET client].
  98. [[perl]]
  99. == Perl
  100. Also see the {client}/perl-api/current/index.html[official Elasticsearch Perl client].
  101. * https://metacpan.org/pod/Elastijk[Elastijk]: A low level minimal HTTP client.
  102. [[php]]
  103. == PHP
  104. Also see the {client}/php-api/current/index.html[official Elasticsearch PHP client].
  105. * https://github.com/ruflin/Elastica[Elastica]:
  106. PHP client.
  107. * https://github.com/nervetattoo/elasticsearch[elasticsearch] PHP client.
  108. * 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.
  109. [[python]]
  110. == Python
  111. Also see the {client}/python-api/current/index.html[official Elasticsearch Python client].
  112. [[r]]
  113. == R
  114. * https://github.com/ropensci/elastic[elastic]:
  115. A low-level R client for Elasticsearch.
  116. * https://github.com/ropensci/elasticdsl[elasticdsl]:
  117. A high-level R DSL for Elasticsearch, wrapping the elastic R client.
  118. * https://github.com/uptake/uptasticsearch[uptasticsearch]:
  119. An R client tailored to data science workflows.
  120. [[ruby]]
  121. == Ruby
  122. Also see the {client}/ruby-api/current/index.html[official Elasticsearch Ruby client].
  123. * https://github.com/printercu/elastics-rb[elastics]:
  124. Tiny client with built-in zero-downtime migrations and ActiveRecord integration.
  125. * https://github.com/toptal/chewy[chewy]:
  126. Chewy is an ODM and wrapper for the official Elasticsearch client
  127. * https://github.com/ankane/searchkick[Searchkick]:
  128. Intelligent search made easy
  129. * https://github.com/artsy/estella[Estella]:
  130. Make your Ruby models searchable
  131. [[rust]]
  132. == Rust
  133. Also see the {client}/rust-api/current/index.html[official Elasticsearch Rust client].
  134. * https://github.com/benashford/rs-es[rs-es]:
  135. A REST API client with a strongly-typed Query DSL.
  136. * https://github.com/elastic-rs/elastic[elastic]:
  137. A modular REST API client that supports freeform queries.
  138. [[scala]]
  139. == Scala
  140. * https://github.com/sksamuel/elastic4s[elastic4s]:
  141. Scala DSL.
  142. * https://github.com/gphat/wabisabi[wabisabi]:
  143. Asynchronous REST API Scala client.
  144. * https://github.com/workday/escalar[escalar]:
  145. Type-safe Scala wrapper for the REST API.
  146. * https://github.com/SumoLogic/elasticsearch-client[elasticsearch-client]:
  147. Scala DSL that uses the REST API. Akka and AWS helpers included.
  148. [[smalltalk]]
  149. == Smalltalk
  150. * https://github.com/newapplesho/elasticsearch-smalltalk[elasticsearch-smalltalk] -
  151. Pharo Smalltalk client for Elasticsearch
  152. [[vertx]]
  153. == Vert.x
  154. * https://github.com/reactiverse/elasticsearch-client[elasticsearch-client]:
  155. An Elasticsearch client for Eclipse Vert.x