La définition des alias bash pour la CISR?
-
26-09-2019 - |
Question
Alors chaque matin pour démarrer mon serveur, je dois faire les tâches suivantes ..
>> sunspot-solr stop
>> sunspot-solr start
>> script/console
>> Organization.reindex
>> Event.reindex
>> Deal.reindex
>> exit
>> script/server
Est-il possible que je peux faire un raccourci dans mon ~ / .profile comme un alias pour effectuer tout cela pour moi sans me taper tous les jours?
Comme cela si ça ne fonctionne pas?
alias blam='cur && sunspot-solr stop && sunspot-solr start && script/console && Organization.reindex && Event.reindex && Deal.reindex && exit && script/server'
La solution
Peut-être que cela va soulager une partie de la douleur?
#Rakefile
desc "Reindex the organizations, events, and deals Solr indexes."
task :reindex => :environment do
Organization.reindex
Event.reindex
Deal.reindex
end
Alors chaque course matinale
> sunspot-solr stop
> sunspot-solr start
> rake reindex
> script/server
Autres conseils
Ceci est mon premier post StackOverflow et c'est une vieille question, mais je sentais que je pouvais contribuer en quelque sorte: D La reconstruction de l'index Solr est périodiquement une tâche très coûteuse, vous devriez éviter de faire des choses comme ça dans la production! Ce que vous cherchez peut être mieux réalisé de trois façons:
1 - modifier vous sunspot.yml et ajoutez la ligne
auto_commit_after_request = true
Ceci va dire de mettre à jour sunspot l'index chaque une nouvelle entrée de modèle est enregistré (ou supprimé). Cela permet de garder votre index mis à jour, mais peut être coûteux.
2 - créer une tâche de râteau (peut être exécuté avec Cron dans un travailleur DelayedJob) comme ceci
task :update_index => :environment do
Sunspot.commit_if_dirty
end
Ceci est beaucoup moins cher que de faire une livraison après chaque mise à jour du modèle, mais gardez à l'esprit que cela pose le problème de la cohérence éventuelle à l'index, ce qui est bien pour ajoute, mais peut être méchant pour supprime: il va générer des entrées orphelines dans votre index. Ceci est également un problème avec la troisième façon de résoudre ce problème ->
3 - modifier votre fichier solrconfig.xml et définissez la fonction autoCommit
avec un maxTime
un intervalle arbitraire entre commits (souvenez-vous d'utiliser des temps en millisecondes). 5 minutes serait bien pour la plupart des applications, mais vous devez tester vous-même.
Hope this helps!