public class UninvertingReader extends FilterLeafReader
This is accomplished by "inverting the inverted index" or "uninversion".
The uninversion process happens lazily: upon the first request for the
field's docvalues (e.g. via LeafReader.getNumericDocValues(String)
or similar), it will create the docvalues on-the-fly if needed and cache it,
based on the core cache key of the wrapped LeafReader.
| Modifier and Type | Class and Description |
|---|---|
static class |
UninvertingReader.Type
Specifies the type of uninversion to apply for the field.
|
FilterLeafReader.FilterFields, FilterLeafReader.FilterPostingsEnum, FilterLeafReader.FilterTerms, FilterLeafReader.FilterTermsEnumLeafReader.CoreClosedListenerIndexReader.ReaderClosedListenerin| Constructor and Description |
|---|
UninvertingReader(LeafReader in,
Map<String,UninvertingReader.Type> mapping)
Create a new UninvertingReader with the specified mapping
|
| Modifier and Type | Method and Description |
|---|---|
BinaryDocValues |
getBinaryDocValues(String field)
Returns
BinaryDocValues for this field, or
null if no BinaryDocValues were indexed for
this field. |
Object |
getCombinedCoreAndDeletesKey()
Expert: Returns a key for this IndexReader that also includes deletions,
so CachingWrapperFilter can find it again.
|
Object |
getCoreCacheKey()
Expert: Returns a key for this IndexReader, so CachingWrapperFilter can find
it again.
|
Bits |
getDocsWithField(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. |
NumericDocValues |
getNumericDocValues(String field)
Returns
NumericDocValues for this field, or
null if no NumericDocValues were indexed for
this field. |
SortedDocValues |
getSortedDocValues(String field)
Returns
SortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. |
SortedSetDocValues |
getSortedSetDocValues(String field)
Returns
SortedSetDocValues for this field, or
null if no SortedSetDocValues were indexed for
this field. |
static String[] |
getUninvertedStats()
Return information about the backing cache
|
String |
toString() |
static DirectoryReader |
wrap(DirectoryReader in,
Map<String,UninvertingReader.Type> mapping)
Wraps a provided DirectoryReader.
|
addCoreClosedListener, checkIntegrity, doClose, document, fields, getDelegate, getLiveDocs, getNormValues, getSortedNumericDocValues, getTermVectors, maxDoc, numDocs, removeCoreClosedListener, unwrapaddCoreClosedListenerAsReaderClosedListener, docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, postings, postings, removeCoreClosedListenerAsReaderClosedListener, termDocsEnum, termPositionsEnum, terms, totalTermFreqaddReaderClosedListener, close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, removeReaderClosedListener, tryIncRefpublic UninvertingReader(LeafReader in, Map<String,UninvertingReader.Type> mapping)
Expert: This should almost never be used. Use wrap(DirectoryReader, Map)
instead.
public static DirectoryReader wrap(DirectoryReader in, Map<String,UninvertingReader.Type> mapping) throws IOException
DirectoryReader.openIfChanged(DirectoryReader))
and so on.IOExceptionpublic FieldInfos getFieldInfos()
LeafReaderFieldInfos describing all fields in
this reader.getFieldInfos in class FilterLeafReaderpublic NumericDocValues getNumericDocValues(String field) throws IOException
LeafReaderNumericDocValues 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 FilterLeafReaderIOExceptionpublic BinaryDocValues getBinaryDocValues(String field) throws IOException
LeafReaderBinaryDocValues 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 FilterLeafReaderIOExceptionpublic SortedDocValues getSortedDocValues(String field) throws IOException
LeafReaderSortedDocValues 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 FilterLeafReaderIOExceptionpublic SortedSetDocValues getSortedSetDocValues(String field) throws IOException
LeafReaderSortedSetDocValues 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 FilterLeafReaderIOExceptionpublic Bits getDocsWithField(String field) throws IOException
LeafReaderBits 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 FilterLeafReaderIOExceptionpublic Object getCoreCacheKey()
IndexReadergetCoreCacheKey in class IndexReaderpublic Object getCombinedCoreAndDeletesKey()
IndexReadergetCombinedCoreAndDeletesKey in class IndexReaderpublic String toString()
toString in class FilterLeafReaderpublic static String[] getUninvertedStats()
Copyright © 2000–2015 The Apache Software Foundation. All rights reserved.