M app/lib/importer/public_statuses_index_importer.rb => app/lib/importer/public_statuses_index_importer.rb +7 -16
@@ 2,23 2,14 @@
class Importer::PublicStatusesIndexImporter < Importer::BaseImporter
def import!
- indexable_statuses_scope.find_in_batches(batch_size: @batch_size) do |batch|
- in_work_unit(batch.map(&:status_id)) do |status_ids|
+ scope.select(:id).find_in_batches(batch_size: @batch_size) do |batch|
+ in_work_unit(batch.pluck(:id)) do |status_ids|
bulk = ActiveRecord::Base.connection_pool.with_connection do
- Chewy::Index::Import::BulkBuilder.new(index, to_index: Status.includes(:media_attachments, :preloadable_poll).where(id: status_ids)).bulk_body
+ Chewy::Index::Import::BulkBuilder.new(index, to_index: Status.includes(:media_attachments, :preloadable_poll, :preview_cards).where(id: status_ids)).bulk_body
end
- indexed = 0
- deleted = 0
-
- bulk.map! do |entry|
- if entry[:index]
- indexed += 1
- else
- deleted += 1
- end
- entry
- end
+ indexed = bulk.count { |entry| entry[:index] }
+ deleted = bulk.count { |entry| entry[:delete] }
Chewy::Index::Import::BulkRequest.new(index).perform(bulk)
@@ 35,7 26,7 @@ class Importer::PublicStatusesIndexImporter < Importer::BaseImporter
PublicStatusesIndex
end
- def indexable_statuses_scope
- Status.indexable.select('"statuses"."id", COALESCE("statuses"."reblog_of_id", "statuses"."id") AS status_id')
+ def scope
+ Status.indexable
end
end
M app/lib/importer/statuses_index_importer.rb => app/lib/importer/statuses_index_importer.rb +1 -1
@@ 14,7 14,7 @@ class Importer::StatusesIndexImporter < Importer::BaseImporter
scope.find_in_batches(batch_size: @batch_size) do |tmp|
in_work_unit(tmp.map(&:status_id)) do |status_ids|
bulk = ActiveRecord::Base.connection_pool.with_connection do
- Chewy::Index::Import::BulkBuilder.new(index, to_index: Status.includes(:media_attachments, :preloadable_poll).where(id: status_ids)).bulk_body
+ Chewy::Index::Import::BulkBuilder.new(index, to_index: Status.includes(:media_attachments, :preloadable_poll, :preview_cards).where(id: status_ids)).bulk_body
end
indexed = 0