require 'action_controller' require 'sunspot/rails/tasks'

namespace :sunspot do

task :reindex_party_search_facts, [:batch_size, :batch_commit] => :environment do |t,args|
  default_batch_commit = true
  default_batch_size = 1000
  batch_size = (args.batch_size || default_batch_size).to_i
  batch_commit = (args.batch_commit || default_batch_commit)
  start_time = Time.now
  puts "Starting Indexing with batch size of #{batch_size} at #{start_time} ..." 
  puts "Batch commit is set to #{batch_commit}"
  puts "There are #{PartySearchFact.count} parties to index"
  puts "This takes roughly 30 minutes per 500,000 parties"
  PartySearchFact.solr_reindex(:batch_size => batch_size, :batch_commit => batch_commit)
  end_time = Time.now
  puts "Done. Finished at: #{end_time}"
  puts "Elapsed time: #{(end_time - start_time)/60} minutes"
end
task :delete_party_search_facts => :environment do
  puts "Removing Indexes ..."
  PartySearchFact.solr_remove_all_from_index!
  puts "Done."
end
task :reindex_content => :environment do
  puts "Indexing ..."
  Content.solr_reindex
  puts "Done."
end
task :delete_content => :environment do
  puts "Removing Indexes ..."
  Content.solr_remove_all_from_index!
  puts "Done."
end

end