Ich habe einen .net-Windows-Dienst, der jede Nacht Lucene-Suchindizes generiert. Ich erhalte zuerst alle Datensätze aus der Datenbank und füge sie dem Lucene-Index mit der AddDocument-Methode von IndexWriter hinzu und rufe dann die Optimize-Methode auf, bevor ich von der Methode zurückkomme. Da die abgerufenen Datensätze häufig groß sind, dauert die Indizierung ungefähr 2-3 Minuten. Wie Sie bereits wissen, generiert Lucene Zwischensegmentdateien, während es den Index generiert, und komprimiert den gesamten Index in 3 Dateien, wenn Optimize aufgerufen wird.Wissen, wann der Lucene-Index-Generierungsprozess abgeschlossen ist
Gibt es trotzdem ich kann wissen, dass dieser Index-Generierungsprozess von Lucene abgeschlossen ist und Index für die Suche verfügbar ist? Ich muss dies wissen, weil ich eine andere Methode aufrufen möchte, wenn der Prozess abgeschlossen ist.
Sie müssen in der Regel nicht jedes Mal eine Optimierung ausführen, wenn Sie Indizes generieren, aber wenn es nur 2-3 Minuten dauert, dann schätze ich, es tut nichts weh. Unser 82 Millionen Record Lucene/Solr Index ist so groß, dass ich keine Ahnung habe, wie lange eine Optimierung dauern würde. – Hardwareguy