# frozen_string_literal: true 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 RailsMultisite::ConnectionManagement.each_connection { |db| reindex_search(db) } end