public abstract class FieldCacheDocIdSet extends DocIdSet
matchDoc(int) method is not optimized, as iterators simply increment
the document id until matchDoc(int) returns true. Because of this
matchDoc(int) must be as fast as possible and in no case do any
I/O.| Modifier and Type | Field and Description |
|---|---|
protected Bits |
acceptDocs |
protected int |
maxDoc |
| Constructor and Description |
|---|
FieldCacheDocIdSet(int maxDoc,
Bits acceptDocs) |
| Modifier and Type | Method and Description |
|---|---|
Bits |
bits()
Optionally provides a
Bits interface for random access
to matching documents. |
boolean |
isCacheable()
this DocIdSet is always cacheable (does not go back
to the reader for iteration)
|
DocIdSetIterator |
iterator()
Provides a
DocIdSetIterator to access the set. |
protected abstract boolean |
matchDoc(int doc)
this method checks, if a doc is a hit
|
ramBytesUsedprotected final int maxDoc
protected final Bits acceptDocs
public FieldCacheDocIdSet(int maxDoc,
Bits acceptDocs)
protected abstract boolean matchDoc(int doc)
public final boolean isCacheable()
isCacheable in class DocIdSetpublic final Bits bits()
DocIdSetBits interface for random access
to matching documents.bits in class DocIdSetnull, if this DocIdSet does not support random access.
In contrast to DocIdSet.iterator(), a return value of null
does not imply that no documents match the filter!
The default implementation does not provide random access, so you
only need to implement this method if your DocIdSet can
guarantee random access to every docid in O(1) time without
external disk access (as Bits interface cannot throw
IOException). This is generally true for bit sets
like FixedBitSet, which return
itself if they are used as DocIdSet.public final DocIdSetIterator iterator() throws IOException
DocIdSetDocIdSetIterator to access the set.
This implementation can return null if there
are no docs that match.iterator in class DocIdSetIOExceptionCopyright © 2000-2014 Apache Software Foundation. All Rights Reserved.