You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
617 B
26 lines
617 B
# frozen_string_literal: true |
|
|
|
class Importer::InstancesIndexImporter < Importer::BaseImporter |
|
def import! |
|
index.adapter.default_scope.find_in_batches(batch_size: @batch_size) do |tmp| |
|
in_work_unit(tmp) do |instances| |
|
bulk = Chewy::Index::Import::BulkBuilder.new(index, to_index: instances).bulk_body |
|
|
|
indexed = bulk.count { |entry| entry[:index] } |
|
deleted = bulk.count { |entry| entry[:delete] } |
|
|
|
Chewy::Index::Import::BulkRequest.new(index).perform(bulk) |
|
|
|
[indexed, deleted] |
|
end |
|
end |
|
|
|
wait! |
|
end |
|
|
|
private |
|
|
|
def index |
|
InstancesIndex |
|
end |
|
end
|
|
|