Class ElasticsearchDirectoryReader
- java.lang.Object
-
- org.apache.lucene.index.IndexReader
-
- org.apache.lucene.index.CompositeReader
-
- org.apache.lucene.index.BaseCompositeReader<org.apache.lucene.index.LeafReader>
-
- org.apache.lucene.index.DirectoryReader
-
- org.apache.lucene.index.FilterDirectoryReader
-
- org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class ElasticsearchDirectoryReader extends org.apache.lucene.index.FilterDirectoryReaderAFilterDirectoryReaderthat exposes Elasticsearch internal per shard / index information like the shard ID.
-
-
Method Summary
Modifier and Type Method Description static voidaddReaderCloseListener(org.apache.lucene.index.DirectoryReader reader, org.apache.lucene.index.IndexReader.ClosedListener listener)Adds the given listener to the provided directory reader.protected org.apache.lucene.index.DirectoryReaderdoWrapDirectoryReader(org.apache.lucene.index.DirectoryReader in)static ElasticsearchDirectoryReadergetElasticsearchDirectoryReader(org.apache.lucene.index.DirectoryReader reader)Tries to unwrap the given reader until the firstElasticsearchDirectoryReaderinstance is found ornullif no instance is found.org.apache.lucene.index.IndexReader.CacheHelpergetReaderCacheHelper()ShardIdshardId()Returns the shard id this index belongs to.static ElasticsearchDirectoryReaderwrap(org.apache.lucene.index.DirectoryReader reader, ShardId shardId)Wraps the given reader in aElasticsearchDirectoryReaderas well as all it's sub-readers inElasticsearchLeafReaderto expose the given shard Id.-
Methods inherited from class org.apache.lucene.index.FilterDirectoryReader
doClose, doOpenIfChanged, doOpenIfChanged, doOpenIfChanged, getDelegate, getIndexCommit, getVersion, isCurrent, unwrap
-
Methods inherited from class org.apache.lucene.index.DirectoryReader
directory, indexExists, listCommits, open, open, open, open, openIfChanged, openIfChanged, openIfChanged, openIfChanged
-
Methods inherited from class org.apache.lucene.index.BaseCompositeReader
docFreq, document, getDocCount, getSequentialSubReaders, getSumDocFreq, getSumTotalTermFreq, getTermVectors, maxDoc, numDocs, readerBase, readerIndex, totalTermFreq
-
-
-
-
Method Detail
-
shardId
public ShardId shardId()
Returns the shard id this index belongs to.
-
getReaderCacheHelper
public org.apache.lucene.index.IndexReader.CacheHelper getReaderCacheHelper()
- Specified by:
getReaderCacheHelperin classorg.apache.lucene.index.IndexReader
-
doWrapDirectoryReader
protected org.apache.lucene.index.DirectoryReader doWrapDirectoryReader(org.apache.lucene.index.DirectoryReader in) throws java.io.IOException- Specified by:
doWrapDirectoryReaderin classorg.apache.lucene.index.FilterDirectoryReader- Throws:
java.io.IOException
-
wrap
public static ElasticsearchDirectoryReader wrap(org.apache.lucene.index.DirectoryReader reader, ShardId shardId) throws java.io.IOException
Wraps the given reader in aElasticsearchDirectoryReaderas well as all it's sub-readers inElasticsearchLeafReaderto expose the given shard Id.- Parameters:
reader- the reader to wrapshardId- the shard ID to expose via the elasticsearch internal reader wrappers.- Throws:
java.io.IOException
-
addReaderCloseListener
public static void addReaderCloseListener(org.apache.lucene.index.DirectoryReader reader, org.apache.lucene.index.IndexReader.ClosedListener listener)Adds the given listener to the provided directory reader. The reader must contain anElasticsearchDirectoryReaderin it's hierarchy otherwise we can't safely install the listener.- Throws:
java.lang.IllegalArgumentException- if the reader doesn't contain anElasticsearchDirectoryReaderin it's hierarchy
-
getElasticsearchDirectoryReader
public static ElasticsearchDirectoryReader getElasticsearchDirectoryReader(org.apache.lucene.index.DirectoryReader reader)
Tries to unwrap the given reader until the firstElasticsearchDirectoryReaderinstance is found ornullif no instance is found.
-
-