module Elasticsearch::Model::Adapter::Mongoid::Importing
Public Instance Methods
__find_in_batches(options={}) { |preprocess ? __send__: items| ... }
click to toggle source
Fetch batches of records from the database
@see github.com/mongoid/mongoid/issues/1334 @see github.com/karmi/retire/pull/724
# File lib/elasticsearch/model/adapters/mongoid.rb, line 82 def __find_in_batches(options={}, &block) batch_size = options[:batch_size] || 1_000 query = options[:query] named_scope = options[:scope] preprocess = options[:preprocess] scope = all scope = scope.send(named_scope) if named_scope scope = query.is_a?(Proc) ? scope.class_exec(&query) : scope.where(query) if query scope.no_timeout.each_slice(batch_size) do |items| yield (preprocess ? self.__send__(preprocess, items) : items) end end
__transform()
click to toggle source
# File lib/elasticsearch/model/adapters/mongoid.rb, line 97 def __transform lambda {|a| { index: { _id: a.id.to_s, data: a.as_indexed_json } }} end