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:
java.io.Closeable
,java.lang.AutoCloseable
- Enclosing class:
- UnifiedHighlighter
private static class UnifiedHighlighter.TermVectorReusingLeafReader extends FilterLeafReader
Wraps an IndexReader that remembers/caches the last call toTermVectors.get(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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.index.FilterLeafReader
FilterLeafReader.FilterFields, FilterLeafReader.FilterPostingsEnum, FilterLeafReader.FilterTerms, FilterLeafReader.FilterTermsEnum
-
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader
IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener
-
-
Field Summary
Fields Modifier and Type Field Description private int
lastDocId
private Fields
tvFields
-
Fields inherited from class org.apache.lucene.index.FilterLeafReader
in
-
-
Constructor Summary
Constructors Constructor Description TermVectorReusingLeafReader(LeafReader in)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IndexReader.CacheHelper
getCoreCacheHelper()
Optional method: Return aIndexReader.CacheHelper
that can be used to cache based on the content of this leaf regardless of deletions.IndexReader.CacheHelper
getReaderCacheHelper()
Optional method: Return aIndexReader.CacheHelper
that can be used to cache based on the content of this reader.Fields
getTermVectors(int docID)
Retrieve term vectors for this document, or null if term vectors were not indexed.TermVectors
termVectors()
Returns aTermVectors
reader for the term vectors of this index.(package private) static IndexReader
wrap(IndexReader reader)
-
Methods inherited from class org.apache.lucene.index.FilterLeafReader
checkIntegrity, doClose, document, getBinaryDocValues, getByteVectorValues, getDelegate, getFieldInfos, getFloatVectorValues, getLiveDocs, getMetaData, getNormValues, getNumericDocValues, getPointValues, getSortedDocValues, getSortedNumericDocValues, getSortedSetDocValues, maxDoc, numDocs, searchNearestVectors, searchNearestVectors, storedFields, terms, toString, unwrap
-
Methods inherited from class org.apache.lucene.index.LeafReader
docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, postings, postings, searchNearestVectors, searchNearestVectors, totalTermFreq
-
Methods inherited from class org.apache.lucene.index.IndexReader
close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, notifyReaderClosedListeners, numDeletedDocs, registerParentReader, tryIncRef
-
-
-
-
Field Detail
-
lastDocId
private int lastDocId
-
tvFields
private Fields tvFields
-
-
Constructor Detail
-
TermVectorReusingLeafReader
TermVectorReusingLeafReader(LeafReader in)
-
-
Method Detail
-
wrap
static IndexReader wrap(IndexReader reader) throws java.io.IOException
- Throws:
java.io.IOException
-
getTermVectors
public Fields getTermVectors(int docID) throws java.io.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 classFilterLeafReader
- Throws:
java.io.IOException
-
termVectors
public TermVectors termVectors() throws java.io.IOException
Description copied from class:IndexReader
Returns aTermVectors
reader for the term vectors of this index.This call never returns
null
, even if no term vectors were indexed. The returned instance should only be used by a single thread.Example:
TopDocs hits = searcher.search(query, 10); TermVectors termVectors = reader.termVectors(); for (ScoreDoc hit : hits.scoreDocs) { Fields vector = termVectors.get(hit.doc); }
- Overrides:
termVectors
in classFilterLeafReader
- Throws:
java.io.IOException
- If there is a low-level IO error
-
getCoreCacheHelper
public IndexReader.CacheHelper getCoreCacheHelper()
Description copied from class:LeafReader
Optional method: Return aIndexReader.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 usingIndexReader.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 classLeafReader
-
getReaderCacheHelper
public IndexReader.CacheHelper getReaderCacheHelper()
Description copied from class:IndexReader
Optional method: Return aIndexReader.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 classIndexReader
-
-