public class BitDocIdSet extends DocIdSet
Modifier and Type | Field and Description |
---|---|
private static long |
BASE_RAM_BYTES_USED |
private long |
cost |
private BitSet |
set |
Constructor and Description |
---|
BitDocIdSet(BitSet set)
Same as
BitDocIdSet(BitSet, long) but uses the set's
approximate cardinality as a cost. |
BitDocIdSet(BitSet set,
long cost)
|
Modifier and Type | Method and Description |
---|---|
BitSet |
bits()
Optionally provides a
Bits interface for random access
to matching documents. |
DocIdSetIterator |
iterator()
Provides a
DocIdSetIterator to access the set. |
long |
ramBytesUsed()
Return the memory usage of this object in bytes.
|
java.lang.String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getChildResources
private static final long BASE_RAM_BYTES_USED
private final BitSet set
private final long cost
public BitDocIdSet(BitSet set, long cost)
public BitDocIdSet(BitSet set)
BitDocIdSet(BitSet, long)
but uses the set's
approximate cardinality
as a cost.public DocIdSetIterator iterator()
DocIdSet
DocIdSetIterator
to access the set.
This implementation can return null
if there
are no docs that match.public BitSet bits()
DocIdSet
Bits
interface for random access
to matching documents.bits
in class DocIdSet
null
, 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 long ramBytesUsed()
Accountable
public java.lang.String toString()
toString
in class java.lang.Object