[[clients]]
== Clients


[[community-perl]]
=== Perl

See the {client}/perl-api/current/index.html[official Elasticsearch Perl client].

[[community-python]]
=== Python

See the {client}/python-api/current/index.html[official Elasticsearch Python client].

* http://github.com/elasticsearch/elasticsearch-dsl-py[elasticsearch-dsl-py]
  chainable query and filter construction built on top of official client.

* http://github.com/rhec/pyelasticsearch[pyelasticsearch]:
  Python client.

* https://github.com/eriky/ESClient[ESClient]:
  A lightweight and easy to use Python client for Elasticsearch.

* https://github.com/humangeo/rawes[rawes]:
  Python low level client.

* https://github.com/mozilla/elasticutils/[elasticutils]:
  A friendly chainable Elasticsearch interface for Python.

* http://intridea.github.io/surfiki-refine-elasticsearch/[Surfiki Refine]:
  Python Map-Reduce engine targeting Elasticsearch indices.

* http://github.com/aparo/pyes[pyes]:
  Python client.


[[community-ruby]]
=== Ruby

See the {client}/ruby-api/current/index.html[official Elasticsearch Ruby client].

* http://github.com/karmi/retire[Retire]:
  Ruby API & DSL, with ActiveRecord/ActiveModel integration (retired since Sep 2013).

* https://github.com/PoseBiz/stretcher[stretcher]:
  Ruby client.

* https://github.com/wireframe/elastic_searchable/[elastic_searchable]:
  Ruby client + Rails integration.

* https://github.com/ddnexus/flex[Flex]:
  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]:
  Chewy is ODM and wrapper for official elasticsearch client

* https://github.com/ankane/searchkick[Searchkick]:
  Intelligent search made easy


[[community-php]]
=== PHP

See the {client}/php-api/current/index.html[official Elasticsearch PHP client].

* http://github.com/ruflin/Elastica[Elastica]:
  PHP client.

* http://github.com/nervetattoo/elasticsearch[elasticsearch] PHP client.

* http://github.com/polyfractal/Sherlock[Sherlock]:
  PHP client, one-to-one mapping with query DSL, fluid interface.

* https://github.com/nervetattoo/elasticsearch[elasticsearch]
  PHP 5.3 client

[[community-java]]
=== Java

* https://github.com/searchbox-io/Jest[Jest]:
  Java Rest client.
* There is of course the {client}/java-api/current/index.html[native ES Java client]

[[community-javascript]]
=== JavaScript

See the {client}/javascript-api/current/index.html[official Elasticsearch JavaScript client].

* https://github.com/fullscale/elastic.js[Elastic.js]:
  A JavaScript implementation of the Elasticsearch Query DSL and Core API.

* https://github.com/phillro/node-elasticsearch-client[node-elasticsearch-client]:
  A NodeJS client for Elasticsearch.

* https://github.com/ramv/node-elastical[node-elastical]:
  Node.js client for the Elasticsearch REST API

* https://github.com/printercu/elastics[elastics]: Simple tiny client that just works

[[community-groovy]]
=== Groovy

See the {client}/groovy-api/current/index.html[official Elasticsearch Groovy client]

[[community-dotnet]]
=== .NET

See the {client}/net-api/current/index.html[official Elasticsearch .NET client].

* https://github.com/Yegoroff/PlainElastic.Net[PlainElastic.Net]:
  .NET client.

* https://github.com/medcl/ElasticSearch.Net[ElasticSearch.NET]:
  .NET client.


[[community-haskell]]
=== Haskell
* https://github.com/bitemyapp/bloodhound[bloodhound]:
  Haskell client and DSL.


[[community-scala]]
=== Scala

* https://github.com/sksamuel/elastic4s[elastic4s]:
  Scala DSL.

* https://github.com/scalastuff/esclient[esclient]:
  Thin Scala client.

* https://github.com/bsadeh/scalastic[scalastic]:
  Scala client.

* https://github.com/gphat/wabisabi[wabisabi]:
  Asynchronous REST API Scala client.


[[community-clojure]]
=== Clojure

* http://github.com/clojurewerkz/elastisch[Elastisch]:
  Clojure client.


[[community-go]]
=== Go

* https://github.com/mattbaird/elastigo[elastigo]:
  Go client.

* https://github.com/belogik/goes[goes]:
  Go lib.

* https://github.com/olivere/elastic[elastic]:
  Elasticsearch client for Google Go.

[[community-erlang]]
=== Erlang

* http://github.com/tsloughter/erlastic_search[erlastic_search]:
  Erlang client using HTTP.

* https://github.com/dieswaytoofast/erlasticsearch[erlasticsearch]:
  Erlang client using Thrift.

* https://github.com/datahogs/tirexs[Tirexs]:
  An https://github.com/elixir-lang/elixir[Elixir] based API/DSL, inspired by
  http://github.com/karmi/tire[Tire]. Ready to use in pure Erlang
  environment.


[[community-eventmachine]]
=== EventMachine

* http://github.com/vangberg/em-elasticsearch[em-elasticsearch]:
  elasticsearch library for eventmachine.


[[community-command-line]]
=== Command Line

* https://github.com/elasticsearch/es2unix[es2unix]:
  Elasticsearch API consumable by the Linux command line.

* https://github.com/javanna/elasticshell[elasticshell]:
  command line shell for elasticsearch.


[[community-ocaml]]
=== OCaml

* https://github.com/tovbinm/ocaml-elasticsearch[ocaml-elasticsearch]:
  OCaml client for Elasticsearch


[[community-smalltalk]]
=== Smalltalk

* http://ss3.gemstone.com/ss/Elasticsearch.html[Elasticsearch] -
  Smalltalk client for Elasticsearch

[[community-cold-fusion]]
=== Cold Fusion

* https://github.com/jasonfill/ColdFusion-ElasticSearch-Client[ColdFusion-Elasticsearch-Client]
  Cold Fusion client for Elasticsearch

[[community-nodejs]]
=== NodeJS
* https://github.com/phillro/node-elasticsearch-client[Node-Elasticsearch-Client]
  A node.js client for elasticsearch

[[community-r]]
=== R
* https://github.com/Tomesch/elasticsearch[elasticsearch]
  R client for Elasticsearch

* https://github.com/ropensci/elastic[elastic]: 
  A general purpose R client for Elasticsearch