org.hibernate.search.indexes.impl
Class SharingBufferReaderProvider
java.lang.Object
org.hibernate.search.indexes.impl.SharingBufferReaderProvider
- All Implemented Interfaces:
- DirectoryBasedReaderProvider, ReaderProvider
public class SharingBufferReaderProvider
- extends Object
- implements DirectoryBasedReaderProvider
This ReaderProvider
shares IndexReaders as long as they are "current";
It uses IndexReader.reopen() which should improve performance on larger indexes
as it shares buffers with previous IndexReader generation for the segments which didn't change.
- Author:
- Sanne Grinovero (C) 2011 Red Hat Inc.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
allReaders
protected final Map<org.apache.lucene.index.IndexReader,SharingBufferReaderProvider.ReaderUsagePair> allReaders
- contains all Readers (most current per Directory and all unclosed old readers)
currentReaders
protected final Map<org.apache.lucene.store.Directory,SharingBufferReaderProvider.PerDirectoryLatestReader> currentReaders
- contains last updated Reader; protected by lockOnOpenLatest (in the values)
SharingBufferReaderProvider
public SharingBufferReaderProvider()
openIndexReader
public org.apache.lucene.index.IndexReader openIndexReader()
- Specified by:
openIndexReader
in interface ReaderProvider
closeIndexReader
public void closeIndexReader(org.apache.lucene.index.IndexReader reader)
- Specified by:
closeIndexReader
in interface ReaderProvider
initialize
public void initialize(DirectoryBasedIndexManager indexManager,
Properties props)
- Specified by:
initialize
in interface DirectoryBasedReaderProvider
stop
public void stop()
- Specified by:
stop
in interface DirectoryBasedReaderProvider
readerFactory
protected org.apache.lucene.index.IndexReader readerFactory(org.apache.lucene.store.Directory directory)
throws IOException
- Throws:
IOException
Copyright © 2006-2012 Red Hat Middleware, LLC. All Rights Reserved