Module: Elasticsearch::Model::Adapter::Mongoid::Importing
- Defined in:
- lib/elasticsearch/model/adapters/mongoid.rb
Instance Method Summary collapse
-
#__find_in_batches(options = {}, &block) ⇒ Object
Fetch batches of records from the database.
- #__transform ⇒ Object
Instance Method Details
#__find_in_batches(options = {}, &block) ⇒ Object
Fetch batches of records from the database
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/elasticsearch/model/adapters/mongoid.rb', line 83 def __find_in_batches(={}, &block) batch_size = [:batch_size] || 1_000 query = [:query] named_scope = [:scope] preprocess = [: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 ⇒ Object
97 98 99 |
# 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 |