lib/searchkick/multi_search.rb in searchkick-3.0.1 vs lib/searchkick/multi_search.rb in searchkick-3.0.2
- old
+ new
@@ -12,27 +12,27 @@
end
end
private
- def perform_search(queries)
- responses = client.msearch(body: queries.flat_map { |q| [q.params.except(:body), q.body] })["responses"]
+ def perform_search(search_queries, perform_retry: true)
+ responses = client.msearch(body: search_queries.flat_map { |q| [q.params.except(:body), q.body] })["responses"]
retry_queries = []
- queries.each_with_index do |query, i|
- if query.retry_misspellings?(responses[i])
+ search_queries.each_with_index do |query, i|
+ if perform_retry && query.retry_misspellings?(responses[i])
query.send(:prepare) # okay, since we don't want to expose this method outside Searchkick
retry_queries << query
else
query.handle_response(responses[i])
end
end
if retry_queries.any?
- perform_search(retry_queries)
+ perform_search(retry_queries, perform_retry: false)
end
- queries
+ search_queries
end
def client
Searchkick.client
end