Community Contributed Clients

Preface

edit

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 open a pull request.

Besides the officially supported Elasticsearch clients, there are a number of clients that have been contributed by the community for various languages:

B4J

edit
  • jElasticsearch: B4J client based on the official Java REST client. - Last release more than a year ago

C++

edit
  • elasticlient: simple library for simplified work with Elasticsearch in C++. - Last commit more than a year ago

Clojure

edit
  • Spandex: Clojure client, based on the new official low-level REST client.
  • Elastisch: Clojure client. - Last commit more than a year ago

ColdFusion (CFML)

edit
  • 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

edit
  • erlastic_search: Erlang client using HTTP. - Last commit more than a year ago
  • Tirexs: An Elixir based API/DSL, inspired by Tire. Ready to use in pure Erlang environment. - Last commit more than a year ago
  • Elixir Bulk Processor: Dynamically configurable Elixir port of the Bulk Processor. Implemented using GenStages to handle back pressure. - Last commit more than a year ago

Also see the official Elasticsearch Go client.

  • elastigo: Go client. - Last commit more than a year ago
  • elastic: Elasticsearch client for Google Go. - Last commit more than a year ago
  • elk: Golang lib for Elasticsearch client. - Last commit more than a year ago

Haskell

edit

Java

edit

Also see the official Elasticsearch Java client.

  • Flummi: Java Rest client with comprehensive Query DSL API.
  • Jest: Java Rest client. - No longer maintained

Julia

edit

Kotlin

edit

Lua

edit

Perl

edit

Also see the official Elasticsearch Perl client.

  • Elastijk: A low-level, minimal HTTP client. - Last commit more than a year ago

PHP

edit

Also see the official Elasticsearch PHP client.

  • Elastica: PHP client.
  • elasticsearch: PHP client. - Last commit more than a year ago
  • 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. - Last commit more than a year ago
  • elastic: A low-level R client for Elasticsearch.
  • elasticdsl: A high-level R DSL for Elasticsearch, wrapping the elastic R client. - No longer maintained
  • uptasticsearch: An R client tailored to data science workflows. - Last commit more than a year ago

Ruby

edit

Also see the official Elasticsearch Ruby client.

  • elastics: Tiny client with built-in zero-downtime migrations and ActiveRecord integration. - Last commit more than a year ago
  • chewy: An ODM and wrapper for the official Elasticsearch client.
  • Searchkick: Intelligent search made easy.
  • Estella: Make your Ruby models searchable.

Rust

edit

Also see the official Elasticsearch Rust client.

  • rs-es: A REST API client with a strongly-typed Query DSL. - Last commit more than a year ago
  • elastic: A modular REST API client that supports freeform queries. - Last commit more than a year ago

Scala

edit
  • elastic4s: Scala DSL.
  • wabisabi: Asynchronous REST API Scala client. - No longer maintained
  • escalar: Type-safe Scala wrapper for the REST API. - Last commit more than a year ago
  • elasticsearch-client: Scala DSL that uses the REST API. Akka and AWS helpers included. - No longer maintained

Smalltalk

edit

Swift

edit
  • Elasticsearch NIO Client: a library for working with Elasticsearch in Swift, built on top of SwiftNIO and Swift Package Manager.

Vert.x

edit
  • elasticsearch-client: An Elasticsearch client for Eclipse Vert.x - Last commit more than a year ago