public final class SlowCompositeReaderWrapper extends AtomicReader
MultiReader or DirectoryReader) to emulate an
atomic reader. This requires implementing the postings
APIs on-the-fly, using the static methods in MultiFields, MultiDocValues, by stepping through
the sub-readers to merge fields/terms, appending docs, etc.
NOTE: this class almost always results in a
performance hit. If this is important to your use case,
you'll get better performance by gathering the sub readers using
IndexReader.getContext() to get the
atomic leaves and then operate per-AtomicReader,
instead of using this class.
IndexReader.ReaderClosedListener| Modifier and Type | Method and Description |
|---|---|
void |
document(int docID,
StoredFieldVisitor visitor)
Expert: visits the fields of a stored document, for
custom processing/loading of each field.
|
Fields |
fields()
Returns
Fields for this reader. |
BinaryDocValues |
getBinaryDocValues(java.lang.String field)
Returns
BinaryDocValues for this field, or
null if no BinaryDocValues were indexed for
this field. |
java.lang.Object |
getCombinedCoreAndDeletesKey()
Expert: Returns a key for this IndexReader that also includes deletions,
so FieldCache/CachingWrapperFilter can find it again.
|
java.lang.Object |
getCoreCacheKey()
Expert: Returns a key for this IndexReader, so FieldCache/CachingWrapperFilter can find
it again.
|
Bits |
getDocsWithField(java.lang.String field)
Returns a
Bits at the size of reader.maxDoc(),
with turned on bits for each docid that does have a value for this field,
or null if no DocValues were indexed for this field. |
FieldInfos |
getFieldInfos()
Get the
FieldInfos describing all fields in
this reader. |
Bits |
getLiveDocs()
Returns the
Bits representing live (not
deleted) docs. |
NumericDocValues |
getNormValues(java.lang.String field)
Returns
NumericDocValues representing norms
for this field, or null if no NumericDocValues
were indexed. |
NumericDocValues |
getNumericDocValues(java.lang.String field)
Returns
NumericDocValues for this field, or
null if no NumericDocValues were indexed for
this field. |
SortedDocValues |
getSortedDocValues(java.lang.String field)
Returns
SortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. |
SortedSetDocValues |
getSortedSetDocValues(java.lang.String field)
Returns
SortedSetDocValues for this field, or
null if no SortedSetDocValues were indexed for
this field. |
Fields |
getTermVectors(int docID)
Retrieve term vectors for this document, or null if
term vectors were not indexed.
|
int |
maxDoc()
Returns one greater than the largest possible document number.
|
int |
numDocs()
Returns the number of documents in this index.
|
java.lang.String |
toString() |
static AtomicReader |
wrap(IndexReader reader)
This method is sugar for getting an
AtomicReader from
an IndexReader of any kind. |
docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, hasNorms, termDocsEnum, termPositionsEnum, terms, totalTermFreqaddReaderClosedListener, close, decRef, document, document, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, open, open, open, open, open, registerParentReader, removeReaderClosedListener, tryIncRefpublic static AtomicReader wrap(IndexReader reader) throws java.io.IOException
AtomicReader from
an IndexReader of any kind. If the reader is already atomic,
it is returned unchanged, otherwise wrapped by this class.java.io.IOExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic Fields fields()
AtomicReaderFields for this reader.
This method may return null if the reader has no
postings.fields in class AtomicReaderpublic NumericDocValues getNumericDocValues(java.lang.String field) throws java.io.IOException
AtomicReaderNumericDocValues for this field, or
null if no NumericDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getNumericDocValues in class AtomicReaderjava.io.IOExceptionpublic Bits getDocsWithField(java.lang.String field) throws java.io.IOException
AtomicReaderBits at the size of reader.maxDoc(),
with turned on bits for each docid that does have a value for this field,
or null if no DocValues were indexed for this field. The
returned instance should only be used by a single threadgetDocsWithField in class AtomicReaderjava.io.IOExceptionpublic BinaryDocValues getBinaryDocValues(java.lang.String field) throws java.io.IOException
AtomicReaderBinaryDocValues for this field, or
null if no BinaryDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getBinaryDocValues in class AtomicReaderjava.io.IOExceptionpublic SortedDocValues getSortedDocValues(java.lang.String field) throws java.io.IOException
AtomicReaderSortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedDocValues in class AtomicReaderjava.io.IOExceptionpublic SortedSetDocValues getSortedSetDocValues(java.lang.String field) throws java.io.IOException
AtomicReaderSortedSetDocValues for this field, or
null if no SortedSetDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedSetDocValues in class AtomicReaderjava.io.IOExceptionpublic NumericDocValues getNormValues(java.lang.String field) throws java.io.IOException
AtomicReaderNumericDocValues representing norms
for this field, or null if no NumericDocValues
were indexed. The returned instance should only be
used by a single thread.getNormValues in class AtomicReaderjava.io.IOExceptionpublic Fields getTermVectors(int docID) throws java.io.IOException
IndexReadergetTermVectors in class IndexReaderjava.io.IOExceptionpublic int numDocs()
IndexReadernumDocs in class IndexReaderpublic int maxDoc()
IndexReadermaxDoc in class IndexReaderpublic void document(int docID,
StoredFieldVisitor visitor)
throws java.io.IOException
IndexReaderIndexReader.document(int). If you want to load a subset, use
DocumentStoredFieldVisitor.document in class IndexReaderjava.io.IOExceptionpublic Bits getLiveDocs()
AtomicReaderBits representing live (not
deleted) docs. A set bit indicates the doc ID has not
been deleted. If this method returns null it means
there are no deleted documents (all documents are
live).
The returned instance has been safely published for
use by multiple threads without additional
synchronization.getLiveDocs in class AtomicReaderpublic FieldInfos getFieldInfos()
AtomicReaderFieldInfos describing all fields in
this reader.getFieldInfos in class AtomicReaderpublic java.lang.Object getCoreCacheKey()
IndexReadergetCoreCacheKey in class IndexReaderpublic java.lang.Object getCombinedCoreAndDeletesKey()
IndexReadergetCombinedCoreAndDeletesKey in class IndexReaderCopyright © 2010 - 2024 Adobe. All Rights Reserved