mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-24 23:27:25 -04:00
257 lines
6.9 KiB
Text
257 lines
6.9 KiB
Text
= Community Contributed Clients
|
|
|
|
[preface]
|
|
== Preface
|
|
:client: https://www.elastic.co/guide/en/elasticsearch/client
|
|
|
|
[NOTE]
|
|
====
|
|
This is a list of clients submitted by members of the Elastic community.
|
|
Elastic does not support or endorse these clients.
|
|
|
|
If you'd like to add a new client to this list, please
|
|
https://github.com/elastic/elasticsearch/blob/master/CONTRIBUTING.md#contributing-code-and-documentation-changes[open a pull request].
|
|
====
|
|
|
|
Besides the link:/guide[officially supported Elasticsearch clients], there are
|
|
a number of clients that have been contributed by the community for various languages:
|
|
|
|
* <<b4j>>
|
|
* <<cpp>>
|
|
* <<clojure>>
|
|
* <<coldfusion>>
|
|
* <<erlang>>
|
|
* <<go>>
|
|
* <<haskell>>
|
|
* <<java>>
|
|
* <<javascript>>
|
|
* <<julia>>
|
|
* <<kotlin>>
|
|
* <<lua>>
|
|
* <<dotnet>>
|
|
* <<perl>>
|
|
* <<php>>
|
|
* <<python>>
|
|
* <<r>>
|
|
* <<ruby>>
|
|
* <<rust>>
|
|
* <<scala>>
|
|
* <<smalltalk>>
|
|
* <<swift>>
|
|
* <<vertx>>
|
|
|
|
[[b4j]]
|
|
== B4J
|
|
* https://www.b4x.com/android/forum/threads/server-jelasticsearch-search-and-text-analytics.73335/[jElasticsearch]:
|
|
B4J client based on the official Java REST client.
|
|
|
|
[[cpp]]
|
|
== C++
|
|
* https://github.com/seznam/elasticlient[elasticlient]: simple library for
|
|
simplified work with Elasticsearch in C++.
|
|
|
|
[[clojure]]
|
|
== Clojure
|
|
|
|
* https://github.com/mpenet/spandex[Spandex]:
|
|
Clojure client, based on the new official low-level REST client.
|
|
|
|
* https://github.com/clojurewerkz/elastisch[Elastisch]:
|
|
Clojure client.
|
|
|
|
[[coldfusion]]
|
|
== ColdFusion (CFML)
|
|
|
|
* https://www.forgebox.io/view/cbelasticsearch[cbElasticSearch]:
|
|
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.
|
|
|
|
[[erlang]]
|
|
== Erlang
|
|
|
|
* https://github.com/tsloughter/erlastic_search[erlastic_search]:
|
|
Erlang client using HTTP.
|
|
|
|
* https://github.com/datahogs/tirexs[Tirexs]:
|
|
An https://github.com/elixir-lang/elixir[Elixir] based API/DSL, inspired by
|
|
https://github.com/karmi/tire[Tire]. Ready to use in pure Erlang
|
|
environment.
|
|
|
|
* https://github.com/sashman/elasticsearch_elixir_bulk_processor[Elixir Bulk
|
|
Processor]: Dynamically configurable Elixir port of the
|
|
{client}/java-api/current/java-docs-bulk-processor.html[Bulk Processor].
|
|
Implemented using GenStages to handle back pressure.
|
|
|
|
[[go]]
|
|
== Go
|
|
|
|
Also see the {client}/go-api/current/index.html[official Elasticsearch Go
|
|
client].
|
|
|
|
* https://github.com/mattbaird/elastigo[elastigo]:
|
|
Go client.
|
|
|
|
* https://github.com/olivere/elastic[elastic]:
|
|
Elasticsearch client for Google Go.
|
|
|
|
* https://github.com/softctrl/elk[elk]:
|
|
Golang lib for Elasticsearch client.
|
|
|
|
|
|
[[haskell]]
|
|
== Haskell
|
|
* https://github.com/bitemyapp/bloodhound[bloodhound]:
|
|
Haskell client and DSL.
|
|
|
|
[[java]]
|
|
== Java
|
|
|
|
Also see the {client}/java-api/current/index.html[official Elasticsearch Java
|
|
client].
|
|
|
|
* https://github.com/otto-de/flummi[Flummi]:
|
|
Java Rest client with comprehensive Query DSL API.
|
|
|
|
* https://github.com/searchbox-io/Jest[Jest]:
|
|
Java Rest client.
|
|
|
|
[[javascript]]
|
|
== JavaScript
|
|
|
|
See the {client}/javascript-api/current/index.html[official Elasticsearch
|
|
JavaScript client].
|
|
|
|
[[julia]]
|
|
== Julia
|
|
|
|
* https://github.com/OpenSesame/ElasticsearchClient.jl[ElasticsearchClient.jl]:
|
|
Elasticsearch client inspired by the {client}/ruby-api/current/index.html[official Elasticsearch Ruby client].
|
|
|
|
[[kotlin]]
|
|
== Kotlin
|
|
|
|
* https://github.com/mbuhot/eskotlin[ES Kotlin]:
|
|
Elasticsearch Query DSL for kotlin based on the
|
|
{client}/java-api/current/index.html[official Elasticsearch Java client].
|
|
|
|
* https://github.com/jillesvangurp/es-kotlin-wrapper-client[ES Kotlin Wrapper
|
|
Client]: Kotlin extension functions and abstractions for the
|
|
{client}/java-api/current/index.html[official Elasticsearch high-level
|
|
client]. Aims to reduce the amount of boilerplate needed to do searches, bulk
|
|
indexing and other common things users do with the client.
|
|
|
|
[[lua]]
|
|
== Lua
|
|
|
|
* https://github.com/DhavalKapil/elasticsearch-lua[elasticsearch-lua]:
|
|
Lua client for Elasticsearch
|
|
|
|
[[dotnet]]
|
|
== .NET
|
|
|
|
See the {client}/net-api/current/index.html[official Elasticsearch .NET client].
|
|
|
|
[[perl]]
|
|
== Perl
|
|
|
|
Also see the {client}/perl-api/current/index.html[official Elasticsearch Perl
|
|
client].
|
|
|
|
* https://metacpan.org/pod/Elastijk[Elastijk]: A low-level, minimal HTTP client.
|
|
|
|
|
|
[[php]]
|
|
== PHP
|
|
|
|
Also see the {client}/php-api/current/index.html[official Elasticsearch PHP
|
|
client].
|
|
|
|
* https://github.com/ruflin/Elastica[Elastica]:
|
|
PHP client.
|
|
|
|
* https://github.com/nervetattoo/elasticsearch[elasticsearch]: PHP client.
|
|
|
|
* 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.
|
|
|
|
[[python]]
|
|
== Python
|
|
|
|
See the {client}/python-api/current/index.html[official Elasticsearch Python
|
|
client].
|
|
|
|
[[r]]
|
|
== R
|
|
|
|
* https://github.com/ropensci/elastic[elastic]:
|
|
A low-level R client for Elasticsearch.
|
|
|
|
* https://github.com/ropensci/elasticdsl[elasticdsl]:
|
|
A high-level R DSL for Elasticsearch, wrapping the elastic R client.
|
|
|
|
* https://github.com/uptake/uptasticsearch[uptasticsearch]:
|
|
An R client tailored to data science workflows.
|
|
|
|
[[ruby]]
|
|
== Ruby
|
|
|
|
Also see the {client}/ruby-api/current/index.html[official Elasticsearch Ruby client].
|
|
|
|
* https://github.com/printercu/elastics-rb[elastics]:
|
|
Tiny client with built-in zero-downtime migrations and ActiveRecord integration.
|
|
|
|
* https://github.com/toptal/chewy[chewy]:
|
|
An ODM and wrapper for the official Elasticsearch client.
|
|
|
|
* https://github.com/ankane/searchkick[Searchkick]:
|
|
Intelligent search made easy.
|
|
|
|
* https://github.com/artsy/estella[Estella]:
|
|
Make your Ruby models searchable.
|
|
|
|
[[rust]]
|
|
== Rust
|
|
|
|
Also see the {client}/rust-api/current/index.html[official Elasticsearch Rust
|
|
client].
|
|
|
|
* https://github.com/benashford/rs-es[rs-es]:
|
|
A REST API client with a strongly-typed Query DSL.
|
|
|
|
* https://github.com/elastic-rs/elastic[elastic]:
|
|
A modular REST API client that supports freeform queries.
|
|
|
|
[[scala]]
|
|
== Scala
|
|
|
|
* https://github.com/sksamuel/elastic4s[elastic4s]:
|
|
Scala DSL.
|
|
|
|
* https://github.com/gphat/wabisabi[wabisabi]:
|
|
Asynchronous REST API Scala client.
|
|
|
|
* https://github.com/workday/escalar[escalar]:
|
|
Type-safe Scala wrapper for the REST API.
|
|
|
|
* https://github.com/SumoLogic/elasticsearch-client[elasticsearch-client]:
|
|
Scala DSL that uses the REST API. Akka and AWS helpers included.
|
|
|
|
[[smalltalk]]
|
|
== Smalltalk
|
|
|
|
* https://github.com/newapplesho/elasticsearch-smalltalk[elasticsearch-smalltalk]:
|
|
Pharo Smalltalk client for Elasticsearch.
|
|
|
|
[[swift]]
|
|
== Swift
|
|
* https://github.com/brokenhandsio/elasticsearch-nio-client[Elasticsearch NIO Client]: a library for
|
|
working with Elasticsearch in Swift, built on top of SwiftNIO and Swift Package Manager.
|
|
|
|
[[vertx]]
|
|
== Vert.x
|
|
|
|
* https://github.com/reactiverse/elasticsearch-client[elasticsearch-client]:
|
|
An Elasticsearch client for Eclipse Vert.x.
|