lib/searchkick.rb in searchkick-1.2.0 vs lib/searchkick.rb in searchkick-1.2.1

- old
+ new

@@ -7,11 +7,11 @@ require "searchkick/query" require "searchkick/reindex_job" require "searchkick/model" require "searchkick/tasks" require "searchkick/middleware" -require "searchkick/logging" if defined?(Rails) +require "searchkick/logging" if defined?(ActiveSupport::Notifications) # background jobs begin require "active_job" rescue LoadError @@ -135,9 +135,19 @@ if options[:execute] == false query else query.execute end + end + + def self.multi_search(queries) + if queries.any? + responses = client.msearch(body: queries.flat_map { |q| [q.params.except(:body), q.body] })["responses"] + queries.each_with_index do |query, i| + query.handle_response(responses[i]) + end + end + nil end end # TODO find better ActiveModel hook ActiveModel::Callbacks.send(:include, Searchkick::Model)