private static class UnifiedHighlighter.TermVectorReusingLeafReader extends FilterLeafReader
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.FilterLeafReader.FilterFields, FilterLeafReader.FilterPostingsEnum, FilterLeafReader.FilterTerms, FilterLeafReader.FilterTermsEnum
IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener
Modifier and Type | Field and Description |
---|---|
private int |
lastDocId |
private Fields |
tvFields |
in
Constructor and Description |
---|
TermVectorReusingLeafReader(LeafReader in) |
Modifier and Type | Method and Description |
---|---|
IndexReader.CacheHelper |
getCoreCacheHelper()
Optional method: Return a
IndexReader.CacheHelper that can be used to cache
based on the content of this leaf regardless of deletions. |
IndexReader.CacheHelper |
getReaderCacheHelper()
Optional method: Return a
IndexReader.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.
|
(package private) static IndexReader |
wrap(IndexReader reader) |
checkIntegrity, doClose, document, getBinaryDocValues, getDelegate, getFieldInfos, getLiveDocs, getMetaData, getNormValues, getNumericDocValues, getPointValues, getSortedDocValues, getSortedNumericDocValues, getSortedSetDocValues, maxDoc, numDocs, terms, toString, unwrap
docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, postings, postings, totalTermFreq
close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, tryIncRef
private int lastDocId
private Fields tvFields
TermVectorReusingLeafReader(LeafReader in)
static IndexReader wrap(IndexReader reader) throws java.io.IOException
java.io.IOException
public Fields getTermVectors(int docID) throws java.io.IOException
IndexReader
getTermVectors
in class FilterLeafReader
java.io.IOException
public IndexReader.CacheHelper getCoreCacheHelper()
LeafReader
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.
getCoreCacheHelper
in class LeafReader
public IndexReader.CacheHelper getReaderCacheHelper()
IndexReader
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.
getReaderCacheHelper
in class IndexReader