123456789101112131415161718192021222324252627282930 |
- # frozen_string_literal: true
- class Importer::AccountsIndexImporter < Importer::BaseImporter
- def import!
- scope.includes(:account_stat).find_in_batches(batch_size: @batch_size) do |tmp|
- in_work_unit(tmp) do |accounts|
- bulk = Chewy::Index::Import::BulkBuilder.new(index, to_index: accounts).bulk_body
- indexed = bulk.select { |entry| entry[:index] }.size
- deleted = bulk.select { |entry| entry[:delete] }.size
- Chewy::Index::Import::BulkRequest.new(index).perform(bulk)
- [indexed, deleted]
- end
- end
- wait!
- end
- private
- def index
- AccountsIndex
- end
- def scope
- Account.searchable
- end
- end
|