Skip to content
Branch: master
Find file History
estolfo [CI] Reorganize rake tasks and set up client and rest_api testing in …
…Jenkins (#603)

* [CI] Reorganize rake tasks and set up client and rest_api testing in Jenkins

* [CI] Run unit and integrations on Jenkins

* [CI] Account for possible bug with TemplateUpgradeService

* [CI] Rest api yaml tests passing on es-7.0.0-alpha2
Latest commit 27654ab Feb 13, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Add license, notice and license headers in elasticsearch gem Nov 23, 2018
Gemfile Add license header to all text-based files Nov 23, 2018
LICENSE.txt Add license, notice and license headers in elasticsearch gem Nov 23, 2018 [GEM] Updated the Ruby compatibility matrix: Ruby 1.9 is the minimal … Jan 14, 2018
elasticsearch.gemspec Update elasticsearch.gemspec (#600) Feb 6, 2019


The elasticsearch library provides a Ruby client and API for Elasticsearch.

Features overview:

  • Pluggable logging and tracing
  • Pluggable connection selection strategies (round-robin, random, custom)
  • Pluggable transport implementation, customizable and extendable
  • Pluggable serializer implementation
  • Request retries and dead connections handling
  • Node reloading (based on cluster state) on errors or on demand
  • Consistent API support for the whole Elasticsearch API
  • Extensive documentation and examples
  • Emphasis on modularity and extendability of both the client and API libraries

(For integration with Ruby models and Rails applications, see the project.)


The Elasticsearch client for Ruby is compatible with Ruby 1.9 and higher.

The client's API is compatible with Elasticsearch's API versions from 0.90 till current, just use a release matching major version of Elasticsearch.

Ruby Elasticsearch
0.90 0.90
1.x 1.x
2.x 2.x
5.x 5.x
6.x 6.x
master master


Install the package from Rubygems:

gem install elasticsearch

To use an unreleased version, either add it to your Gemfile for Bundler:

gem 'elasticsearch', git: 'git://'

or install it from a source code checkout:

git clone
cd elasticsearch-ruby/elasticsearch
bundle install
rake install


This library is a wrapper for two separate libraries:

Install the elasticsearch package and use the API directly:

require 'elasticsearch'

client = log: true

client.transport.reload_connections! q: 'test'

# etc.

Please refer to the specific library documentation for details:


This software is licensed under the Apache 2 license, quoted below.

Copyright (c) 2013 Elasticsearch <>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.
You can’t perform that action at this time.