|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.index.IndexReader org.apache.lucene.index.AtomicReader org.apache.lucene.index.SlowCompositeReaderWrapper
public final class SlowCompositeReaderWrapper
This class forces a composite reader (eg a 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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader |
---|
IndexReader.ReaderClosedListener |
Constructor Summary | |
---|---|
SlowCompositeReaderWrapper(CompositeReader reader)
Sole constructor, wrapping the provided CompositeReader . |
Method Summary | |
---|---|
protected void |
doClose()
Implements close. |
void |
document(int docID,
StoredFieldVisitor visitor)
Expert: visits the fields of a stored document, for custom processing/loading of each field. |
DocValues |
docValues(String field)
Returns DocValues for this field. |
Fields |
fields()
Returns Fields for this reader. |
Object |
getCombinedCoreAndDeletesKey()
Expert: Returns a key for this IndexReader that also includes deletions, so FieldCache/CachingWrapperFilter can find it again. |
Object |
getCoreCacheKey()
Expert: Returns a key for this IndexReader, so FieldCache/CachingWrapperFilter can find it again. |
FieldInfos |
getFieldInfos()
Get the FieldInfos describing all fields in
this reader. |
Bits |
getLiveDocs()
Returns the Bits representing live (not
deleted) docs. |
Fields |
getTermVectors(int docID)
Retrieve term vectors for this document, or null if term vectors were not indexed. |
boolean |
hasDeletions()
Returns true if any documents have been deleted |
int |
maxDoc()
Returns one greater than the largest possible document number. |
DocValues |
normValues(String field)
Returns DocValues for this field's normalization values. |
int |
numDocs()
Returns the number of documents in this index. |
String |
toString()
|
static AtomicReader |
wrap(IndexReader reader)
This method is sugar for getting an AtomicReader from
an IndexReader of any kind. |
Methods inherited from class org.apache.lucene.index.AtomicReader |
---|
docFreq, getContext, hasNorms, termDocsEnum, termPositionsEnum, terms, totalTermFreq |
Methods inherited from class org.apache.lucene.index.IndexReader |
---|
addReaderClosedListener, close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hashCode, incRef, leaves, numDeletedDocs, open, open, open, open, open, registerParentReader, removeReaderClosedListener, tryIncRef |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SlowCompositeReaderWrapper(CompositeReader reader) throws IOException
CompositeReader
.
IOException
Method Detail |
---|
public static AtomicReader wrap(IndexReader reader) throws IOException
AtomicReader
from
an IndexReader
of any kind. If the reader is already atomic,
it is returned unchanged, otherwise wrapped by this class.
IOException
public String toString()
toString
in class Object
public Fields fields()
AtomicReader
Fields
for this reader.
This method may return null if the reader has no
postings.
fields
in class AtomicReader
public DocValues docValues(String field) throws IOException
AtomicReader
DocValues
for this field.
This method may return null if the reader has no per-document
values stored.
docValues
in class AtomicReader
IOException
public DocValues normValues(String field) throws IOException
AtomicReader
DocValues
for this field's normalization values.
This method may return null if the field has no norms.
normValues
in class AtomicReader
IOException
public Fields getTermVectors(int docID) throws IOException
IndexReader
getTermVectors
in class IndexReader
IOException
public int numDocs()
IndexReader
numDocs
in class IndexReader
public int maxDoc()
IndexReader
maxDoc
in class IndexReader
public void document(int docID, StoredFieldVisitor visitor) throws IOException
IndexReader
IndexReader.document(int)
. If you want to load a subset, use
DocumentStoredFieldVisitor
.
document
in class IndexReader
IOException
public Bits getLiveDocs()
AtomicReader
Bits
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 AtomicReader
public FieldInfos getFieldInfos()
AtomicReader
FieldInfos
describing all fields in
this reader.
getFieldInfos
in class AtomicReader
public boolean hasDeletions()
IndexReader
hasDeletions
in class IndexReader
public Object getCoreCacheKey()
IndexReader
getCoreCacheKey
in class IndexReader
public Object getCombinedCoreAndDeletesKey()
IndexReader
getCombinedCoreAndDeletesKey
in class IndexReader
protected void doClose() throws IOException
IndexReader
doClose
in class IndexReader
IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |