2012-04-11 10 views
0

Ich habe versucht, MySQL-Datenbank zum Solr-Index hinzuzufügen. Nach dem Beenden des Datenimportprozesses werden die Dokumente "1428760" aktualisiert. Aber solr vollständige Suchanfrage zeigen numFound="546195".Solr: Falscher numFound-Wert

Was ist das Problem? Warum diese Diskrepanz?

+4

sind Ihre Aufzeichnungen einzigartig ??? wie die primäre ID ??? Solr überschreibt die Datensätze mit derselben ID. – Jayendra

+0

Wer zeigt 1428760 aktualisierte Dokumente? Hast du dich nach dem Update verpflichtet? –

+0

Danke Jayendra. Dein Punkt ist richtig. Jetzt habe ich einen eindeutigen Schlüssel für alle Datensätze festgelegt. Problem ist gelöst .. Danke Jungs .... –

Antwort

1

Ich vermute, die 1,428,760 kommt von einer autoritativen Stelle wie dem Admin-Panel oder CoreAdmin API, und die 546,195 ist die Anzahl der Übereinstimmungen mit einer Wildcard-Suche.

Überprüfen Sie Ihre Kopfzeilen. Ist ein partialResults Flag auf True gesetzt? Wenn dies der Fall ist, hat Solr beim Scannen durch den Index sein internes timeAllowed Timeout erreicht und nur einen Teilsatz aller übereinstimmenden Dokumente zurückgegeben.

Dies ist eine Eigenschaft, die Solrs Vorliebe für Leistung demonstriert. Es versucht, Ihnen so schnell wie möglich die relevantesten Ergebnisse für Ihre Fragen zu liefern. Wenn viele Dokumente mit einer Abfrage übereinstimmen, wird davon ausgegangen, dass sie etwas Zeit sparen und schnell zurückkehren kann, ohne die Relevanz zu stark zu beeinträchtigen. Denn wer wird durch eine halbe Million Treffer paginieren?

Wie auch immer, ohne weitere Details, dies ist nur eine Schätzung und eine kurze Erklärung von partialResults.