Übersicht

Lucene besitzt einen Caching-Mechanismus, mit dessen Hilfe Suchabfragen, die bestehende IndexSearcher-Objekte verwenden, schneller abgewickelt werden als Suchabfragen mit neu erstellten IndexSearcher-Instanzen. Eine einzige gemeinsam genutzte IndexSearcher-Instanz würde für schnelle Suchabfragen in einer Einzelbenutzerumgebung ausreichen. Der Standardanwendungsfall in einer Serverumgebung ist jedoch, dass mehrere Clients den Index gleichzeitig durchsuchen. Zur Vermeidung einer Reihenfolgeplanung der Suchanforderungen in solchen Situationen, was die individuelle Suchleistung beeinträchtigen würde, verwendet der GSS einen IndexSearcher-Pool, der eine definierte Anzahl von IndexSearcher-Instanzen für die Wiederverwendung durch gleichzeitig ablaufende Suchanforderungen vorhält.

Für ein IndexSearcher-Objekt wird der Index nur in dem Status angezeigt, den er zu seinem 'Öffnungszeitpunkt' hatte. Die Aktualisierungen des Index, die nach dem Öffnen des IndexSearcher-Objekts erfolgen, werden erst sichtbar, wenn das IndexSearcher-Objekt erneut geöffnet wird. Je nachdem, wie groß der Index ist und ob er in der Zwischenzeit aktualisiert wurde, können die einzelnen IndexSearcher-Instanzen eine sehr große Speichermenge belegen. Der IndexSearcher-Pool sorgt dafür, dass die IndexSearcher-Instanzen bei einer Indexaktualisierung geschlossen und erneut geöffnet werden.