2017-01-29 5 views
0

Ich habe einen Kern, der Dokumente mit einigen der Felder indiziert, aber nicht gespeichert haben (nennen wir sie Gruppe A Felder). Wenn ich andere Felder aktualisiere (indiziert und gespeichert, nennen wir sie Gruppe-B-Felder), geht der Inhalt der Gruppe-A-Felder verloren. In dieser Solr-Dokumentation, Updating Parts of Documents, lautet die Kernfunktionalität der automatischen Aktualisierung eines Dokuments, dass alle Felder in Ihrem Schema als gespeichert (stored = "true") oder docValues ​​(docValues ​​= "true") konfiguriert sein müssen Felder, die Ziele sind, die als gespeicherte = „false“ konfiguriert werden muss.Solr Atomic Update - Update Dokumente mit Feldern, die indiziert sind, aber nicht gespiegelt

so muss ich jedes Mal neu indizieren, wenn ich die Gruppe B Felder aktualisieren? alle Arbeiten rund um den gesamten Kern?

Antwort

1

Ja, wenn Sie die Felder nicht speichern möchten, müssen Sie sie neu indizieren

Ein atomares Update in Solr ist Als Abrufdokument implementiert, Werte für die geänderten Felder ändern und das Dokument intern erneut übergeben. Wenn die Werte nicht gespeichert werden, fehlen bei der erneuten Übermittlung diese Werte.

Sie müssen den ganzen Kern nicht reindexen, nur die Dokumente, die sich geändert haben. Aber ja, diese Felder müssen als gespeichert oder mit docvalues ​​als true gesetzt werden, wenn Sie atomare Updates nur für bestimmte Felder verwenden wollen.