2009-05-14 17 views
3

Ist es im Allgemeinen schnell genug, um einfache Aktualisierungen synchron zu machen? Zum Beispiel mit einer ASP.NET Web App, wenn ich den Namen der Person ändere ... werde ich Probleme haben, nur den Index synchron als Teil des "Speichern" Mechanismus zu aktualisieren?Wann Index mit Lucene.NET aktualisieren? Asynchron oder nicht?

ODER ist die einzige sichere Möglichkeit, einen anderen asynchronen Prozess zu haben, um die Indexaktualisierungen vorzunehmen?

Antwort

2

Wir aktualisieren sowohl synchron als auch asynchron, abhängig von der Art der Aktion, die der Benutzer ausführt. Wir haben die synchrone Indexierung so implementiert, dass wir den asynchronen Code verwenden und nur einige Zeit auf seinen Abschluss warten. Wir warten nur 2 Sekunden, was bedeutet, dass der Benutzer das Update nicht sehen wird, wenn es länger dauert.

Wir haben die Protokollierung so konfiguriert, dass wir benachrichtigt werden, wenn die "synchrone" Indizierung länger gedauert hat als wir gewartet haben, um eine Vorstellung davon zu bekommen, wie oft es passieren würde. Wir kommen kaum über die 2-Sekunden-Grenze hinaus.

0

Wenn Sie eine Volltextsitzung verwenden, müssen Sie die Indexe nicht explizit aktualisieren. Die Volltextsitzung kümmert sich um die Indizierung der aktualisierten Entität.