lib/geoblacklight_admin/tasks/solr.rake in geoblacklight_admin-0.5.1 vs lib/geoblacklight_admin/tasks/solr.rake in geoblacklight_admin-0.6.0
- old
+ new
@@ -1,11 +1,42 @@
+require "rake"
require "csv"
namespace :geoblacklight_admin do
namespace :solr do
desc "Delete orphans from Solr"
task delete_orphans: :environment do
deleted_orphans = GeoblacklightAdmin::SolrUtils.delete_solr_orphans(batch_size: 1000)
puts "Deleted: #{deleted_orphans.inspect}"
+ end
+
+ desc "Reindex all Documents - via Kithe"
+ task reindex: :environment do
+ Kithe::Indexable.index_with(batching: true) do
+ progress_bar = ProgressBar.create(total: Document.count, format: Kithe::STANDARD_PROGRESS_BAR_FORMAT)
+
+ scope = Kithe::Model.where(kithe_model_type: 1)
+
+ scope.find_each do |model|
+ progress_bar.title = "#{model.class.name}:#{model.friendlier_id}"
+ model.update_index
+ progress_bar.increment
+ end
+ end
+ end
+
+ desc "Reindex all Documents - via Rails"
+ task reindex_rails: :environment do
+ total_documents_processed = 0
+ Document.find_in_batches(batch_size: 1000) do |documents|
+ documents.each do |document|
+ document.update_index
+ rescue => e
+ puts "Error updating index for document: #{document.friendlier_id}"
+ puts e.message
+ end
+ total_documents_processed += documents.size
+ puts "Processed #{documents.size} documents in this batch, total processed: #{total_documents_processed}"
+ end
end
end
end