2010-12-05 12 views
3

私はフルテキスト検索を行うためにacts_as_ferret(0.4.3)を使用していますが、更新インデックスを再起動する必要がある場合はacts_as_ferretでインデックスを再構築する方法は?

フェレットのように自動更新する方法はありますか?ありがとう!

+0

申し訳ありません、それはあなたが思考スフィンクスへの切り替えを検討すべきである – why

+0

「再構築」であります、はるかに良いです –

答えて

2

私は答え

# 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 
関連する問題