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.FilterDirectoryReader
AFilterDirectoryReader
that exposes Elasticsearch internal per shard / index information like the shard ID.
-
-
Method Summary
Modifier and Type Method Description 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.protected org.apache.lucene.index.DirectoryReader
doWrapDirectoryReader(org.apache.lucene.index.DirectoryReader in)
static ElasticsearchDirectoryReader
getElasticsearchDirectoryReader(org.apache.lucene.index.DirectoryReader reader)
Tries to unwrap the given reader until the firstElasticsearchDirectoryReader
instance is found ornull
if no instance is found.org.apache.lucene.index.IndexReader.CacheHelper
getReaderCacheHelper()
ShardId
shardId()
Returns the shard id this index belongs to.static ElasticsearchDirectoryReader
wrap(org.apache.lucene.index.DirectoryReader reader, ShardId shardId)
Wraps the given reader in aElasticsearchDirectoryReader
as well as all it's sub-readers inElasticsearchLeafReader
to 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:
getReaderCacheHelper
in 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:
doWrapDirectoryReader
in 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 aElasticsearchDirectoryReader
as well as all it's sub-readers inElasticsearchLeafReader
to 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 anElasticsearchDirectoryReader
in it's hierarchy otherwise we can't safely install the listener.- Throws:
java.lang.IllegalArgumentException
- if the reader doesn't contain anElasticsearchDirectoryReader
in it's hierarchy
-
getElasticsearchDirectoryReader
public static ElasticsearchDirectoryReader getElasticsearchDirectoryReader(org.apache.lucene.index.DirectoryReader reader)
Tries to unwrap the given reader until the firstElasticsearchDirectoryReader
instance is found ornull
if no instance is found.
-
-