Este conteúdo não está disponível no idioma selecionado.
8.3. Using an IndexReader
Queries in Lucene are executed on an
IndexReader. Hibernate Search caches all index readers to maximize performance. Your code can access this cached resources, but you have to follow some "good citizen" rules.
Example 8.3. Accesing an IndexReader
The ReaderProvider (described in Section 2.3, “Reader strategy”), will open an IndexReader on top of the index(es) referenced by the directory providers. Because this
IndexReader is shared amongst several clients, you must adhere to the following rules:
- Never call indexReader.close(), but always call readerProvider.closeReader(reader), preferably in a finally block.
- Don't use this
IndexReaderfor modification operations (you would get an exception). If you want to use a read/write index reader, open one from the Lucene Directory object.
Aside from those rules, you can use the IndexReader freely, especially to do native queries. Using the shared
IndexReaders will make most queries more efficient.