Using the SearcherManager to refresh IndexSearcher
The SearcherManager
is a utility class that facilitates the sharing of IndexSearcher
across multiple threads. It provides the facilities to acquire and release IndexSearcher
, while allowing IndexSearcher
to be reopened periodically. The IndexSearcher
attribute can be refreshed by calling maybeRefresh
prior to acquire, though it's recommended that this method be called periodically in a separate thread to minimize impacting a query that happens to trigger a refresh. Note that it's very important to call release
so SearcherManager
knows when IndexSearcher
is not in use so that it can be closed for a refresh.
The following diagram shows SearcherManager's main responsibilities:
The SearcherManager's ...
Get Lucene 4 Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.