diff --git a/lib/searchkick/model.rb b/lib/searchkick/model.rb index df8af17..154a75a 100644 --- a/lib/searchkick/model.rb +++ b/lib/searchkick/model.rb @@ -45,8 +45,8 @@ module Searchkick end alias_method Searchkick.search_method_name, :searchkick_search if Searchkick.search_method_name - def searchkick_index - index = class_variable_get(:@@searchkick_index) + def searchkick_index(name: nil) + index = name || class_variable_get(:@@searchkick_index) index = index.call if index.respond_to?(:call) index_cache = class_variable_get(:@@searchkick_index_cache) index_cache[index] ||= Searchkick::Index.new(index, searchkick_options) diff --git a/lib/searchkick/process_batch_job.rb b/lib/searchkick/process_batch_job.rb index 04953b6..b92294b 100644 --- a/lib/searchkick/process_batch_job.rb +++ b/lib/searchkick/process_batch_job.rb @@ -2,7 +2,7 @@ module Searchkick class ProcessBatchJob < ActiveJob::Base queue_as { Searchkick.queue_name } - def perform(class_name:, record_ids:) + def perform(class_name:, record_ids:, index_name: nil) # separate routing from id routing = Hash[record_ids.map { |r| r.split(/(?