Nous avons trois serveurs Solr avec les données exactes sur trois d'entre eux. Je voulais les mettre à jour en même temps lorsque j'exécute le script sur l'un des serveurs. Puis-je utiliser un proxy pour mettre à jour les deux autres serveurs en Java (SolrJ)? Quelqu'un a-t-il déjà fait ça?

0
VShah 4 févr. 2021 à 21:30

1 réponse

Meilleure réponse

Ne faites pas cela manuellement. Vous réinventez les fonctionnalités de Solr.

Pour les données avec des mises à jour peu fréquentes, peut-être une fois par jour, utilisez un serveur maître et un ensemble de serveurs de requête (esclaves) qui répliquent l'index. Les répliques vérifieront les modifications selon un calendrier, peut-être une fois par heure ou toutes les 15 minutes.

Pour des mises à jour fréquentes, utilisez Solr Cloud. Une mise à jour envoyée à n'importe quel nœud du cluster sera automatiquement transmise au chef de file pour cette partition. Il sera indexé et les répliques seront invitées à le récupérer et à l'indexer sur les répliques.

Solr ne peut garantir que les mises à jour seront simultanées sur toutes les répliques. Solr n'est pas une base de données et les mises à jour ne sont pas transactionnelles. Si vous voulez des transactions, utilisez une base de données.

0
Walter Underwood 12 févr. 2021 à 17:40