2011-01-05 7 views
3

Haben Sie eine solr Frage hier, habe ich mehrere solr Serverinstanzen sie alle die gleichen Daten und Schema, das Schema enthält ein dynamisches Feld, das solr.RandomSortField ist, so dass ich mich gefragt, ob ich sort=rand_1234%20desc laufen auf verschiedene solr-server, soll ich das gleiche ergebnis bekommen?solr.RandomSortField auf mehreren solr Serverinstanzen

+0

, warum es nicht versuchen :-) Aber ich bezweifle, dass Sie das gleiche bekommen ... um achive, dass alle solr Instanzen den gleichen Zufall siehe haben müßten, wenn neue Random (Samen zu schaffen) – Karussell

+0

@Kussell, ja ich bin sicher, dass die Samen die gleichen sind, aber ich kann nicht auf Produktionssystem testen (die einzige Umgebung hat mehrere Instanzen), weil es Änderungen die ganze Zeit fest, so wird das Ergebnis nicht das gleiche sein. –

+0

Aber dann wirst du andere Ergebnisse haben, sogar für normale Ergebnisse !? Sie sollten sicherstellen, dass die neuen Sucher gleichzeitig geöffnet werden (z. B. mit Replikation oder mit einem separaten Read-Only-Core) – Karussell

Antwort

0

Entsprechend dem Quellcode von RandomSortField enthält der Startwert die Versionsnummer des Index. Dies bedeutet, dass bei einer Suche mit demselben Zufallsparameter (z. B. "sort = random_1234") auf verschiedenen Servern das gleiche Ergebnis zurückgegeben wird, wenn die Indizes gleich sind (gleicher Inhalt) und dieselbe Versionskennung (über Replikation) haben.

Sie können die Version der Indizes in der/admin/ui jedes Servers überprüfen.

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.solr/solr-core/3.5.0/org/apache/solr/schema/RandomSortField.java