2017-03-03 3 views
0

Contexte: 2 sur 3 de nos machines Zookeeper ont été bloquées, ce qui a provoqué la fermeture de mon système SOLR. J'ai ajouté de nouvelles machines Zookeeper et mis à jour chaque config machine SOLR avec la nouvelle machine Zookeeper. Après cela, j'ai démarré le SOLR et utilisé la page d'administration pour interroger *:* qui renvoyait un nombre différent chaque fois que je demandais au pool.Le nombre de Solr est incorrect

Alors, je tous les enregistrements purgé dans SOLR nuage et a couru un batch-job pour remplir toutes les données à nouveau d'Oracle à SOLR. (Tout semblait bien).

Problème: J'ai un batchjob quotidien qui met à jour le SOLR avec DELTA(Inserts + Updates) de Oracle.

Depuis cette instance. Le nombre dans le pool SOLR ne correspond pas au DELTA(insert + update). Par exemple: même si 1000 enregistrements ont été mis à jour ou insérés un jour, les comptes SOLR diffèrent de plus de 10000.

Les numéros renvoyés par *:* ne correspondent pas. Nous avons essayé de purger les enregistrements plusieurs fois. Les choses semblent bien quand nous insérons l'enregistrement pour la première fois après la purge mais dès que les mises à jour commencent à arriver, les chiffres ne correspondent pas.

Il n'existe aucun enregistrement en double. et Si je demande un enregistrement spécifique, nous obtenons le bon enregistrement, mais les numéros de facettes sont également erronés.

Le fichier d'index est-il corrompu?

+0

1. Combien d'instances Solr pour le cluster? 2. Combien de tessons? 3. Comment faites-vous l'indexation? Par SolrJ ou autre chose? –

+0

25 instances dans le cluster, 3 fragments. J'ai un travail de lot de printemps qui lit les enregistrements et les a mis à jour dans 'SOLR' – user1324887

+0

fait zk suivre le bon état de toutes les instances? –

Répondre

0

Essayez d'optimiser votre index. J'étais également confronté au même problème et l'optimisation de l'indice l'a corrigé.

 curl http://hostname:8980/solr/<core>/update?optimize=true 

Certains plus d'informations sur optimize:

http://wiki.apache.org/solr/SolrPerformanceFactors#Optimization_Considerations

PS: Notez qu'un optimize est cher. Vous ne devriez pas l'exécuter plus d'une fois par jour.

+0

J'ai essayé d'optimiser l'index. Cela n'a rien changé jusqu'ici. – user1324887

+0

juste suivi là-dessus encore. a trouvé qu'il y a des documents en double dans nos fragments avec différents 'version '. J'ai couru les requêtes de solr avec 'distrib = false' sur 2 nœuds différents à partir de 2 fragments et ils ont tous les deux renvoyé 2 documents avec' _version_' différent. des idées? – user1324887