2011-04-21 5 views
1

J'ai deux serveurs Solr. Les bases de données chaque jour de grandes quantités de changements de données se produira. Comment puis-je savoir et automatiser le problème qui, jusqu'à ce que l'ajout/l'engagement/l'échauffement, tout simplement servir, et si elle est terminée, alors ajouter/commettre/réchauffement, et sert le solr0.solr indexation équilibrée

Répondre

1

Vous pouvez envisager la réplication. Définissez solr0 comme maître et solr1 comme esclave. Réindex sur solr0 et, une fois terminé et engagé, solr1 commencera à tirer le nouvel index. Si la charge de réindexation est si importante que solr0 ne peut pas répondre aux requêtes pendant la réindexation, vous pouvez utiliser quelque chose comme du vernis devant les serveurs Solr et marquer solr0 comme indexation wile inactive. Tout cela peut être automatisé en écrivant des scripts qui interrogent les points de terminaison Solr DIH et de statut de réplication.

+0

La phase d'échauffement est exécutée de manière à ce que les recherches les plus populaires se déroulent à nouveau. Si solr0 a gradué l'étape commitand/warmup, et réplique à solr1, le stock de cash frais est répliqué de solr0 à solr1? – eMber

+0

@eMber seul l'index est répliqué, pas l'un des caches. Si vous aviez un script gérant le jonglage de l'équilibreur de charge pour le noyau solr actif, vous pouvez déplacer le réchauffement du cache vers ce script pour vous assurer que le trafic ne va pas à un cœur non chauffé après l'indexation/réplication. – Aneurysm9