質問

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 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top