Warum Lucene keine Aktualisierung eines vorhandenen Dokuments unterstützt

8

Mein Anwendungsfall ist das Indexieren eines Lucene-Dokuments, und bei mehreren zukünftigen Gelegenheiten fügen Sie Begriffe hinzu, die auf dieses vorhandene Dokument verweisen, ohne das gesamte Dokument für jeden neuen Begriff zu löschen und erneut hinzuzufügen (wegen der Leistung und nicht des Originals) Begriffe).

Ich weiß, dass ein Dokument nicht wirklich aktualisiert werden kann. Meine Frage ist warum?

Oder genauer: Warum werden alle Arten von Updates (Begriffe, gespeicherte Felder) nicht unterstützt?
Warum es nicht möglich ist, einen weiteren Begriff hinzuzufügen, um auf ein vorhandenes Dokument zu verweisen - technisch gesehen: ist es nicht mehr erforderlich, dass die vorhandene Dokument-ID in die Buchungsliste des Begriffs eingefügt wird. Warum ist das schwer? Gibt es einige unveränderliche Statistiken, die im Weg sind?

Gibt es Workarounds für die Unterstützung meines Anwendungsbeispiels zum Hinzufügen eines Begriffs (indiziertes Feld) zu einem vorhandenen Dokument?

    
Gili Nachum 29.08.2012, 19:45
quelle

1 Antwort

4
  

Ich weiß, dass ein Dokument nicht wirklich aktualisiert werden kann. Meine Frage ist warum?

Gili, das Bearbeiten eines Dokuments wird Änderungen in den zugehörigen Terms-Buchungen verursachen, und dies ist aufgrund der Struktur der Buchungsliste problematisch. Die Buchungsliste wird sortiert und im Speicher sequentiell gespeichert. Um also ein Dokument der Buchungsliste eines Begriffs hinzuzufügen, müssen Sie ihm ein höheres doc id geben, indem Sie das gesamte Dokument löschen und neu indizieren.

    
dolbi 30.08.2012, 08:51
quelle

Tags und Links