module Stretchy
{include:file:README.md}
Constants
- VERSION
Public Instance Methods
client()
click to toggle source
# File lib/stretchy.rb, line 23 def client @client ||= Elasticsearch::Client.new end
client=(client)
click to toggle source
# File lib/stretchy.rb, line 27 def client=(client) @client = client end
count_index(name, params = {})
click to toggle source
# File lib/stretchy.rb, line 56 def count_index(name, params = {}) client.count({index: name}.merge(params))['count'] end
create_index(name, params = {})
click to toggle source
# File lib/stretchy.rb, line 48 def create_index(name, params = {}) client.indices.create({index: name}.merge(params)) unless index_exists? name end
delete_index(name)
click to toggle source
# File lib/stretchy.rb, line 44 def delete_index(name) client.indices.delete(index: name) if index_exists? name end
fake_results()
click to toggle source
# File lib/stretchy.rb, line 74 def fake_results Results.fake end
index_document(params = {})
click to toggle source
# File lib/stretchy.rb, line 60 def index_document(params = {}) Utils.require_params!(:index_document, params, :index, :body) raise IndexDoesNotExistError.new( "index #{params[:index]} does not exist" ) unless index_exists? params[:index] client.index(params) end
index_exists?(name)
click to toggle source
# File lib/stretchy.rb, line 40 def index_exists?(name) client.indices.exists? index: name end
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/stretchy.rb, line 78 def method_missing(method, *args, &block) if client.respond_to?(method) client.send(method, *args, &block) else super end end
query(options = {})
click to toggle source
# File lib/stretchy.rb, line 70 def query(options = {}) API.new(root: options) end
refresh_index(name, params = {})
click to toggle source
# File lib/stretchy.rb, line 52 def refresh_index(name, params = {}) client.indices.refresh({index: name}.merge(params)) if index_exists? name end
search(options = {})
click to toggle source
# File lib/stretchy.rb, line 31 def search(options = {}) client.search(options) rescue Elasticsearch::Transport::Transport::Errors::BadRequest => bre msg = bre.message[-150..-1] msg << "\n\n" msg << JSON.pretty_generate(options) raise msg end