我正在使用acts_as_ferret(0.4.3) 进行全文搜索,但是更新索引时我需要重新启动
雪貂,那么有什么好方法可以让它自动更新吗?谢谢!
我正在使用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
这个任务被简化了:我告诉它每小时重建整个索引。我猜当我的数据集变得足够大时,这会非常慢。在这种情况下,我需要跟踪在过去一小时内更新的所有模型实例,并将它们编入索引。
最后,我需要一个 cron 作业来运行 rake 任务,确保将环境设置为“生产”:
cd /rails_app && rake ferret_index RAILS_ENV=production