2017-02-22 3 views
0

Wie kann ich den Fehler vermeiden, wenn ich versuche, den Lucene-Index gleichzeitig zu aktualisieren, wenn Besucher das Internet besuchen? Jetzt kann ich den Index nur um Mitternacht aktualisieren, da einige Besucher das Web besuchen.Wie kann ich den Fehler vermeiden, wenn ich versuche, den Lucene-Index gleichzeitig zu aktualisieren, wenn Besucher das Internet besuchen?

+0

Bitte geben Sie ein Beispiel für einen Fehler. Designbedingt unterstützt lucene gleichzeitige Updates/Suche – Ivan

Antwort

0

Ich gehe davon aus, durch „Aktualisieren des Index“ Sie meinen den Index und die Füllung mit neuen Daten zu leeren, eine vollständige refeed? Sie können einen leeren Index mit vermeiden, indem ein timestamp Feld und mit der folgenden Methode:

  1. Speichern Sie die Zeit das Update startet
  2. Queue DELETE Befehl für alle Dokumente älter als Startdatum
  3. Queue der Zugabe von alle neuen Dokumente
  4. Execute COMMIT

Auf diese Weise sind die alten Dokumente bis zum allerletzten Moment und hinten verfügbar Danach sind alle neuen Dokumente schon da. Achten Sie darauf, autoCommit nicht zu verwenden und die Synchronisation in den Slave-Knoten für die Zeit der Nachfütterung zu deaktivieren, da dies zu hässlichen Ergebnissen führen kann.

Verwandte Themen