Können Sie löschen ein Feld aus einem Dokument im Solr-index?
Ich habe einen großen index, und während des indizierungsprozesses es ein Fehler war. Um zu vermeiden, re-Indizierung, die einige Tage dauert, ich will einfach nur das löschen von bestimmten Feld und neu indizieren. Gibt es irgendeinen Vorschlag?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht. Die Lösung wäre, das Dokument, speichern Sie temporär in den Speicher, löschen, aktualisieren Sie das gewünschte Feld (löschen, hinzufügen) und fügen Sie das Dokument wieder auf dem index.
Wenn Sie mit Solr 4, können Sie AtomicUpdate http://wiki.apache.org/solr/Atomic_Updates
um ein Feld zu entfernen viel leichter. Zum Beispiel:
können Sie dies tun, wenn Ihr übrigen Felder werden gespeichert ich.e
stored="true "
.wie folgt durch Einstellung null-Wert.Quelle:https://wiki.apache.org/solr/UpdateXmlMessages
Löschen kann man das indizierte Dokument, indem es die id. Wenn Sie möchten, ändern Sie das schema, indem Sie entfernen ein Feld, dann ja, würden Sie haben, um reindex.
Können Sie löschen Sie den index mit dem Befehl löschen und eine Abfrage wie diese:
Mit dem argument
-Dcommit
Kraft, um den index zu aktualisieren, so, vorsichtig sein, nicht zu löschen, löschen Sie alle Dokumente, wenn Sie nicht wollen.Können Sie löschen indizierte Wert w.r.t. ein Feld in den Solr-aber nicht das Feld.
Wenn Sie wirklich löschen möchten, einen bestimmten Bereich, während die Indizierung so konfigurieren Sie das Feld in schema.xml Datei vor der Indizierung Dokument.