lib/searchkick/multi_search.rb in searchkick-2.5.0 vs lib/searchkick/multi_search.rb in searchkick-3.0.0
- old
+ new
@@ -1,36 +1,35 @@
module Searchkick
class MultiSearch
attr_reader :queries
- def initialize(queries, retry_misspellings: false)
+ def initialize(queries)
@queries = queries
- @retry_misspellings = retry_misspellings
end
def perform
if queries.any?
- perform_search(queries, retry_misspellings: @retry_misspellings)
+ perform_search(queries)
end
end
private
- def perform_search(queries, retry_misspellings: true)
+ def perform_search(queries)
responses = client.msearch(body: queries.flat_map { |q| [q.params.except(:body), q.body] })["responses"]
retry_queries = []
queries.each_with_index do |query, i|
- if retry_misspellings && query.retry_misspellings?(responses[i])
+ if 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_misspellings && retry_queries.any?
- perform_search(retry_queries, retry_misspellings: false)
+ if retry_queries.any?
+ perform_search(retry_queries)
end
queries
end