in elasticsearch-model/lib/elasticsearch/model/searching.rb [34:60]
def initialize(klass, query_or_payload, options={})
@klass = klass
@options = options
__index_name = options[:index] || klass.index_name
case
when query_or_payload.respond_to?(:to_hash)
body = query_or_payload.to_hash
when query_or_payload.is_a?(String) && query_or_payload =~ /^\s*{/
body = query_or_payload
else
q = query_or_payload
end
if body
@definition = { index: __index_name, body: body }.update options
else
@definition = { index: __index_name, q: q }.update options
end
end