module Elasticsearch::Model::Adapter::ActiveRecord::Importing
Public Instance Methods
__find_in_batches(options={}) { |batch| ... }
click to toggle source
Fetch batches of records from the database (used by the import method)
@see api.rubyonrails.org/classes/ActiveRecord/Batches.html ActiveRecord::Batches.find_in_batches
# File lib/elasticsearch/model/adapters/active_record.rb, line 96 def __find_in_batches(options={}, &block) query = options.delete(:query) named_scope = options.delete(:scope) preprocess = options.delete(:preprocess) scope = self scope = scope.__send__(named_scope) if named_scope scope = scope.instance_exec(&query) if query scope.find_in_batches(**options) do |batch| batch = self.__send__(preprocess, batch) if preprocess yield(batch) if batch.present? end end
__transform()
click to toggle source
# File lib/elasticsearch/model/adapters/active_record.rb, line 111 def __transform lambda { |model| { index: { _id: model.id, data: model.__elasticsearch__.as_indexed_json } } } end