Acts_as_ferretでインデックスをどのように再構築しますか?
-
08-10-2019 - |
質問
Acts_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時間に更新されたすべてのモデルインスタンスを追跡し、それらをインデックスするだけです。
最後に、Rakeタスクを実行するためにCronジョブが必要でした。環境を「生産」に設定することを確認してください。
cd /rails_app && rake ferret_index RAILS_ENV=production
所属していません StackOverflow