Class UnifiedHighlighter.TermVectorReusingLeafReader

java.lang.Object
org.apache.lucene.index.IndexReader
org.apache.lucene.index.LeafReader
org.apache.lucene.index.FilterLeafReader
org.apache.lucene.search.uhighlight.UnifiedHighlighter.TermVectorReusingLeafReader
All Implemented Interfaces:
Closeable, AutoCloseable
Enclosing class:
UnifiedHighlighter

private static class UnifiedHighlighter.TermVectorReusingLeafReader extends FilterLeafReader
Wraps an IndexReader that remembers/caches the last call to IndexReader.getTermVectors(int) so that if the next call has the same ID, then it is reused. If TV's were column-stride (like doc-values), there would be no need for this.
  • Field Details

    • lastDocId

      private int lastDocId
    • tvFields

      private Fields tvFields
  • Constructor Details

    • TermVectorReusingLeafReader

      TermVectorReusingLeafReader(LeafReader in)
  • Method Details

    • wrap

      static IndexReader wrap(IndexReader reader) throws IOException
      Throws:
      IOException
    • getTermVectors

      public Fields getTermVectors(int docID) throws IOException
      Description copied from class: IndexReader
      Retrieve term vectors for this document, or null if term vectors were not indexed. The returned Fields instance acts like a single-document inverted index (the docID will be 0).
      Overrides:
      getTermVectors in class FilterLeafReader
      Throws:
      IOException
    • getCoreCacheHelper

      public IndexReader.CacheHelper getCoreCacheHelper()
      Description copied from class: LeafReader
      Optional method: Return a IndexReader.CacheHelper that can be used to cache based on the content of this leaf regardless of deletions. Two readers that have the same data but different sets of deleted documents or doc values updates may be considered equal. Consider using IndexReader.getReaderCacheHelper() if you need deletions or dv updates to be taken into account.

      A return value of null indicates that this reader is not suited for caching, which is typically the case for short-lived wrappers that alter the content of the wrapped leaf reader.

      Specified by:
      getCoreCacheHelper in class LeafReader
    • getReaderCacheHelper

      public IndexReader.CacheHelper getReaderCacheHelper()
      Description copied from class: IndexReader
      Optional method: Return a IndexReader.CacheHelper that can be used to cache based on the content of this reader. Two readers that have different data or different sets of deleted documents will be considered different.

      A return value of null indicates that this reader is not suited for caching, which is typically the case for short-lived wrappers that alter the content of the wrapped reader.

      Specified by:
      getReaderCacheHelper in class IndexReader