Ich bin neu bei Lucene.NET, aber ich verwende an open source tool für Sitecore CMS gebaut, die Lucene.NET verwendet, um viele Inhalte aus dem CMS zu indizieren. Ich habe gestern bestätigt, dass die aktuellen Indexdateien bei der Neuerstellung meiner Indizes sauber gelöscht werden, so dass alles, was auf den Index angewiesen ist, für ungefähr 30 bis 60 Sekunden keine Daten erhält (die Zeit für einen vollständigen Indexaufbau). Gibt es eine Best Practice oder einen Weg, Lucene.NET zu veranlassen, die aktuellen Indexdateien nicht zu überschreiben, bis der neue Index vollständig neu erstellt wurde? Ich denke im Grunde, dass ich möchte, dass es in neue Temp-Index-Dateien schreibt, und wenn die Wiederherstellung abgeschlossen ist, überschreiben diese Dateien den aktuellen Index.Vermeiden Sie die Entfernung des aktuellen Lucene.NET-Index während der Neuerstellung
Beispiel von dem, was ich spreche:
- Bauen frisch Index (~ 30 Sekunden)
- Index über 500 Dokumente hat
- Verwenden Codedaten in Index und Anzeige auf der Webseite zuzugreifen
- Rebuild Index (~ 30 Sekunden)
- Jeder Code, der Index für Daten liest nun gibt nichts zurück, weil die Indexdateien zu sein overwritte sind n; zeigt Ergebnisse in Website keine Daten
- Rebuild komplett: wieder Daten nun Daten verfügbar,
Vielen Dank im Voraus
Sie können einen Index im Append-Modus öffnen. In diesem Fall bleibt Ihr aktueller Index verfügbar, bis Sie Ihre neuen Schreibvorgänge leeren oder festschreiben. – Mikos