act_as_ferret(0.4.3) を使用して全文検索を行っていますが、インデックスを更新するときに再起動する必要があります
フェレット、それを自動更新させる良い方法はありますか? ありがとう!
act_as_ferret(0.4.3) を使用して全文検索を行っていますが、インデックスを更新するときに再起動する必要があります
フェレット、それを自動更新させる良い方法はありますか? ありがとう!
私は答えを得た
# ferret_index.rake
desc "Updates the ferret index for the application."
task :ferret_index => [ :environment ] do | t |
MyModel.rebuild_index
# here I could add other model index rebuilds
puts "Completed Ferret Index Rebuild"
end
このタスクは単純化されています。1 時間ごとにインデックス全体を再構築するように指示しています。データセットが十分に大きくなると、これは非常に遅くなると思います。その場合、過去 1 時間に更新されたすべてのモデル インスタンスを追跡し、インデックスを作成する必要があります。
最後に、rake タスクを実行するための cron ジョブが必要でした。環境を必ず「運用」に設定してください。
cd /rails_app && rake ferret_index RAILS_ENV=production