Skip to content

Commit

Permalink
Adds MyReindex to assist with SOLR upgrade.
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomas Scherz committed Sep 11, 2024
1 parent edc4342 commit 8ebb3ff
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions lib/tasks/reindex.rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# frozen_string_literal: true
namespace :reindex do
desc "Reindex specified work, e.g., rake myreindex:reindex_by_id['c821gj76b']"
task :reindex_by_id, [:id] => :environment do |_, args|
object = find_or_warn(args[:id]) || next

if object.id.blank?
$stderr.puts "No such work exists for id: #{object.id}"
next
else
ActiveFedora::Base.find(object.id).update_index
puts "Reindexed work id #{object.id}"
end
end

desc "Reindex collections"
task reindex_collections: :environment do
count = 0
Collection.all.each do |object|
if object.id.blank?
$stderr.puts "No such work exists for id: #{object.id}"
next
else
ActiveFedora::Base.find(object.id).update_index
count += 1
end
end
puts "Reindexed works for #{count} objects"
end

desc "Reindex all objects"
task reindex_works: :environment do
count = 0
[Image, Document, ExternalObject, MedSym, Review].each do |model_class|
model_class.all.each do |object|
if object.id.blank?
$stderr.puts "No such work exists for id: #{object.id}"
next
else
ActiveFedora::Base.find(object.id).update_index
count += 1
end
end
end
puts "Reindexed works for #{count} objects"
end
end

0 comments on commit 8ebb3ff

Please sign in to comment.