discourse/lib/tasks/search.rake

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
956 B
Ruby
Raw Permalink Normal View History

# frozen_string_literal: true
2013-02-26 00:42:20 +08:00
task "search:reindex" => :environment do
ENV["RAILS_DB"] ? reindex_search : reindex_search_all_sites
end
def reindex_search(db = RailsMultisite::ConnectionManagement.current_db)
puts "Reindexing '#{db}'"
puts ""
puts "Posts"
Post
.includes(topic: %i[category tags])
.find_each do |p|
if p.post_number == 1
SearchIndexer.index(p.topic, force: true)
else
SearchIndexer.index(p, force: true)
end
putc "."
end
puts
puts "Users"
User.find_each do |u|
SearchIndexer.index(u, force: true)
putc "."
end
puts
puts "Categories"
Category.find_each do |c|
SearchIndexer.index(c, force: true)
putc "."
end
puts
puts "Tags"
Tag.find_each do |t|
SearchIndexer.index(t, force: true)
putc "."
end
puts
end
def reindex_search_all_sites
2013-02-06 03:16:51 +08:00
RailsMultisite::ConnectionManagement.each_connection { |db| reindex_search(db) }
end