Skip to content

Commit 8bffa19

Browse files
committed
[MODEL] Allow passing index name and document type in MyModel.search
Example: -------- Article.search('foo', index: 'my-special-index') Article.search('foo', index: 'my-special-index', type: 'my-type')
1 parent e0f2d3b commit 8bffa19

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

elasticsearch-model/lib/elasticsearch/model/searching.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,23 @@ module Searching
55
module ClassMethods
66

77
def search(query_or_payload, options={})
8+
__index_name = options[:index] || index_name
9+
__document_type = options[:type] || document_type
10+
811
case
912
# search query: ...
1013
when query_or_payload.respond_to?(:to_hash)
11-
response = client.search index: index_name, type: document_type, body: query_or_payload.to_hash
14+
response = client.search index: __index_name, type: __document_type, body: query_or_payload.to_hash
1215

1316
# search '{ "query" : ... }'
1417
when query_or_payload.is_a?(String) && query_or_payload =~ /^\s*{/
15-
response = client.search index: index_name, type: document_type, body: query_or_payload
18+
response = client.search index: __index_name, type: __document_type, body: query_or_payload
1619

1720
# search '...'
1821
else
19-
response = client.search index: index_name, type: document_type, q: query_or_payload
22+
response = client.search index: __index_name, type: __document_type, q: query_or_payload
2023
end
24+
2125
Response::Response.new(self, response)
2226
end
2327

0 commit comments

Comments
 (0)