ElasticSearch Ruby client (deprecated)
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib v0.9.8 Feb 7, 2013
spec allow delete_by_query without specifying index or type Feb 7, 2013
vendor/elasticsearch move thrift definition to vendor Dec 6, 2010
.autotest rspec Feb 8, 2011
.gitignore
.rspec rspec Feb 8, 2011
.travis.yml add jruby to travis builds Sep 10, 2012
CONTRIBUTORS update CONTRIBUTORS Jul 26, 2012
Gemfile add thrift to the Gemfile Jul 12, 2012
LICENSE add license, readme May 7, 2010
README.md
Rakefile remove yard rake tasks Jul 12, 2012
TODO update todo Jul 12, 2012
rubberband.gemspec Add version to faraday gemspec dependency. Jul 26, 2012

README.md

RubberBand is deprecated and will not be maintained. Consider the official ElasticSearch Ruby client at https://github.com/elasticsearch/elasticsearch-ruby.

RubberBand

Build Status Code Climate

An ElasticSearch client with ThriftClient-like failover handling.

License

Copyright 2010-2012 Grant Rodgers. See included LICENSE file.

Features

  • Automatic failover, retry, and peer discovery
  • Support for multiple transports (HTTP, Thrift, Memcached)
  • Support for multiple encodings (JSON, Smile TODO)

Rubberband uses MultiJson for JSON encoding and decoding and supports all JSON backends that MultiJson supports.

The HTTP transport uses Faraday, which also supports a number of http backends. Choose the one that works best for you.

Supported Rubies

Tested on 1.8.7, 1.9.2, 1.9.3, and Rubinius in 1.8 and 1.9 mode. Ruby 1.8.6 is NOT supported due to missing String#bytesize.

Usage

Instantiate a client:

client = ElasticSearch.new('http://127.0.0.1:9200', :index => "twitter", :type => "tweet")

Instantiate a client with multiple servers:

client = ElasticSearch.new(['127.0.0.1:9200', '127.0.0.1:9201'])

Instantiate a client using a Heroku URL (this sets the default index):

client = ElasticSearch.new(ENV['ELASTICSEARCH_URL'])

Connect using the thrift transport (requires the thrift gem and elasticsearch thrift plugin to be installed):

client = ElasticSearch.new('127.0.0.1:9500', :transport => ElasticSearch::Transport::Thrift)

Pass a block to Faraday to configure middleware and options:

  client = ElasticSearch::Client.new('127.0.0.1:9200') do |conn|
    conn.response :logger
    conn.adapter Faraday.default_adapter
  end

API:

  client.default_index = "test_index"
  client.default_type  = "test_type"
  client.index({:body => "elasticsearch is cool"}, :id => 1)  
  client.get("1")  
  client.search("body:elasticsearch")  

TODO

See TODO file.

Contributing

http://github.com/grantr/rubberband

Fork, code, send pull request