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