4 votes

Comment reconstruire l'index avec acts_as_ferret?

Je suis en train d'utiliser acts_as_ferret(0.4.3) pour effectuer des recherches en texte intégral, mais lorsque je mets à jour l'index, je dois redémarrer

ferret, y a-t-il une méthode efficace pour le mettre à jour automatiquement? Merci!

3voto

why Points 4093

J'ai trouvé la réponse

# ferret_index.rake
desc "Met à jour l'index de la fouine pour l'application."
tâche :ferret_index => [ :environment ] do | t |
  MyModel.rebuild_index
  # ici je pourrais ajouter d'autres reconstructions d'index de modèle
  puts "Index de la fouine reconstruit"
end 

Cette tâche est simplifiée: je lui dis de reconstruire l'index entier chaque heure. Je suppose que lorsque mon ensemble de données sera assez grand, cela sera très lent. Dans ce cas, je devrai suivre toutes les instances de modèles mises à jour au cours de la dernière heure et les indexer.

Enfin, j'avais besoin d'une tâche cron pour exécuter la tâche rake, en veillant à définir l'environnement sur "production":

cd /rails_app && rake ferret_index RAILS_ENV=production

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X