Class ElasticsearchDirectoryReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public final class ElasticsearchDirectoryReader
    extends org.apache.lucene.index.FilterDirectoryReader
    A FilterDirectoryReader that exposes Elasticsearch internal per shard / index information like the shard ID.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader

        org.apache.lucene.index.IndexReader.CacheHelper, org.apache.lucene.index.IndexReader.CacheKey, org.apache.lucene.index.IndexReader.ClosedListener
    • Field Summary

      • Fields inherited from class org.apache.lucene.index.FilterDirectoryReader

        in
      • Fields inherited from class org.apache.lucene.index.DirectoryReader

        directory
    • 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 first ElasticsearchDirectoryReader instance is found or null 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 a ElasticsearchDirectoryReader as well as all it's sub-readers in ElasticsearchLeafReader 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
      • Methods inherited from class org.apache.lucene.index.CompositeReader

        getContext, toString
      • Methods inherited from class org.apache.lucene.index.IndexReader

        close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, tryIncRef
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • 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 class org.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 class org.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 a ElasticsearchDirectoryReader as well as all it's sub-readers in ElasticsearchLeafReader to expose the given shard Id.
        Parameters:
        reader - the reader to wrap
        shardId - 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 an ElasticsearchDirectoryReader in it's hierarchy otherwise we can't safely install the listener.
        Throws:
        java.lang.IllegalArgumentException - if the reader doesn't contain an ElasticsearchDirectoryReader in it's hierarchy
      • getElasticsearchDirectoryReader

        public static ElasticsearchDirectoryReader getElasticsearchDirectoryReader​(org.apache.lucene.index.DirectoryReader reader)
        Tries to unwrap the given reader until the first ElasticsearchDirectoryReader instance is found or null if no instance is found.