Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
86 lines (63 sloc) 1.39 KB

ElasticSearch ruby client

ElasticSearch ruby client. Credit goes to my coworkers at GitHub, I just turned it into a gem.


Add to Gemfile

gem 'elasticsearch-client', :require => 'elasticsearch'

Create connection:

index = 'twitter'
url = 'http://localhost:9200'
es =, url)

Index a document:

type = 'tweet'
doc = {:id => 'abcd', :foo => 'bar'}
es.add(type, doc[:id], doc)

Get a document:

id = '1234'
es.mget(type, [id])

Get documents:

id2 = 'abcd'
es.mget(type, [id, id2])


query = {
  :query => {
    :bool => {
      :must => {
        :query_string => {
          :default_field => '_all',
          :query => 'foobar!',
}, query)

Remove record:

es.remove(type, id)

Remove by query:

es.remove_by_query(type, :term => {:foo => 'bar'})

Remove all of type:


Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so we don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine, but bump version in a commit by itself so we can ignore when we pull)
  • Send us a pull request. Bonus points for topic branches.
Jump to Line
Something went wrong with that request. Please try again.