class Skala::ElasticsearchAdapter::Search

Public Instance Methods

call(search_request, options = {}) click to toggle source
# File lib/skala/elasticsearch_adapter/search.rb, line 8
def call(search_request, options = {})
  elasticsearch_request = {
    body: RequestTransformation.new.call(search_request),
    index: @adapter.index
  }

  elasticsearch_result = @adapter.elasticsearch_client.search(elasticsearch_request)

  ResultTransformation.new.call(elasticsearch_result, search_request: search_request)
rescue Elasticsearch::Transport::Transport::Errors::BadRequest
  raise Skala::Adapter::BadRequestError
end