2019-05-02 17:17:27 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-02-25 10:42:20 -06:00
|
|
|
task "search:reindex" => :environment do
|
2023-01-09 06:10:19 -06:00
|
|
|
ENV["RAILS_DB"] ? reindex_search : reindex_search_all_sites
|
2016-10-01 01:53:30 -05:00
|
|
|
end
|
|
|
|
|
2017-07-27 20:20:09 -05:00
|
|
|
def reindex_search(db = RailsMultisite::ConnectionManagement.current_db)
|
2016-10-01 01:53:30 -05:00
|
|
|
puts "Reindexing '#{db}'"
|
|
|
|
puts ""
|
2018-02-19 21:41:00 -06:00
|
|
|
puts "Posts"
|
2023-01-09 06:10:19 -06:00
|
|
|
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 "."
|
2018-02-19 21:41:00 -06:00
|
|
|
end
|
2016-10-01 01:53:30 -05:00
|
|
|
|
|
|
|
puts
|
2018-02-19 21:41:00 -06:00
|
|
|
puts "Users"
|
|
|
|
User.find_each do |u|
|
|
|
|
SearchIndexer.index(u, force: true)
|
2016-10-01 01:53:30 -05:00
|
|
|
putc "."
|
|
|
|
end
|
|
|
|
|
|
|
|
puts
|
|
|
|
puts "Categories"
|
|
|
|
|
2018-02-19 21:41:00 -06:00
|
|
|
Category.find_each do |c|
|
|
|
|
SearchIndexer.index(c, force: true)
|
|
|
|
putc "."
|
2017-10-24 16:55:05 -05:00
|
|
|
end
|
|
|
|
|
2018-02-19 21:41:00 -06:00
|
|
|
puts
|
|
|
|
puts "Tags"
|
2017-10-24 16:55:05 -05:00
|
|
|
|
2018-02-19 21:41:00 -06:00
|
|
|
Tag.find_each do |t|
|
|
|
|
SearchIndexer.index(t, force: true)
|
|
|
|
putc "."
|
2016-10-01 01:53:30 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
puts
|
|
|
|
end
|
|
|
|
|
|
|
|
def reindex_search_all_sites
|
2023-01-09 06:10:19 -06:00
|
|
|
RailsMultisite::ConnectionManagement.each_connection { |db| reindex_search(db) }
|
2013-02-05 13:16:51 -06:00
|
|
|
end
|