3

我正在使用acts_as_ferret(0.4.3) 进行全文搜索,但是更新索引时我需要重新启动

雪貂,那么有什么好方法可以让它自动更新吗?谢谢!

4

1 回答 1

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 

这个任务被简化了:我告诉它每小时重建整个索引。我猜当我的数据集变得足够大时,这会非常慢。在这种情况下,我需要跟踪在过去一小时内更新的所有模型实例,并将它们编入索引。

最后,我需要一个 cron 作业来运行 rake 任务,确保将环境设置为“生产”:

cd /rails_app && rake ferret_index RAILS_ENV=production 
于 2010-12-05T15:13:53.027 回答