class Stretcher::EsComponent

Elasticsearch has symmetry across API endpoints for Server, Index, and Type, lets try and provide some common ground

Public Instance Methods

do_alias(alias_name_or_prefix) click to toggle source
# File lib/stretcher/es_component.rb, line 40
def do_alias(alias_name_or_prefix)
  request(:get, "_alias/#{alias_name_or_prefix}")
rescue Stretcher::RequestError::NotFound => e
  return {} if e.http_response.status == 404
  raise e
end
do_delete_query(query) click to toggle source
# File lib/stretcher/es_component.rb, line 34
def do_delete_query(query)
  request :delete, '_query' do |req|
    req.body = query
  end
end
do_refresh() click to toggle source
# File lib/stretcher/es_component.rb, line 24
def do_refresh
  request(:post, "_refresh")
end
request(method, path=nil, params={}, body=nil, headers={}, options={}, &block) click to toggle source
# File lib/stretcher/es_component.rb, line 28
def request(method, path=nil, params={}, body=nil, headers={}, options={}, &block)
  prefixed_path = path_uri(path)
  raise "Cannot issue request, no server specified!" unless @server
  @server.request(method, prefixed_path, params, body, headers, options, &block)
end