|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.solr.search.BitDocSet
public class BitDocSet
BitDocSet
represents an unordered set of Lucene Document Ids
using a BitSet. A set bit represents inclusion in the set for that document.
Field Summary |
---|
Fields inherited from interface org.apache.solr.search.DocSet |
---|
EMPTY |
Constructor Summary | |
---|---|
BitDocSet()
|
|
BitDocSet(FixedBitSet bits)
Construct a BitDocSet. |
|
BitDocSet(FixedBitSet bits,
int size)
Construct a BitDocSet, and provides the number of set bits. |
Method Summary | |
---|---|
void |
add(int doc)
Adds the specified document if it is not currently in the DocSet (optional operation). |
void |
addAllTo(DocSet target)
Adds all the docs from this set to the target set. |
void |
addUnique(int doc)
Adds a document the caller knows is not currently in the DocSet (optional operation). |
DocSet |
andNot(DocSet other)
Returns the documents in this set that are not in the other set. |
int |
andNotSize(DocSet other)
Returns the number of documents in this set that are not in the other set. |
protected BitDocSet |
clone()
|
boolean |
equals(Object obj)
|
boolean |
exists(int doc)
Returns true of the doc exists in the set. |
FixedBitSet |
getBits()
Return a FixedBitSet with a bit set for every document in this
DocSet . |
Filter |
getTopFilter()
Returns a Filter for use in Lucene search methods, assuming this DocSet was generated from the top-level MultiReader that the Lucene search methods will be invoked with. |
DocSet |
intersection(DocSet other)
Returns the intersection of this set with another set. |
int |
intersectionSize(DocSet other)
Returns the number of documents of the intersection of this set with another set. |
boolean |
intersects(DocSet other)
Returns true if these sets have any elements in common |
void |
invalidateSize()
The number of set bits - size - is cached. |
DocIterator |
iterator()
DocIterator using nextSetBit() public DocIterator iterator() { return new DocIterator() { int pos=bits.nextSetBit(0); public boolean hasNext() { return pos>=0; } public Integer next() { return nextDoc(); } public void remove() { bits.clear(pos); } public int nextDoc() { int old=pos; pos=bits.nextSetBit(old+1); return old; } public float score() { return 0.0f; } }; } |
long |
memSize()
Returns the approximate amount of memory taken by this DocSet. |
int |
size()
Returns the number of documents in the set. |
static FixedBitSet |
toBitSet(DocSet set)
|
DocSet |
union(DocSet other)
Returns the union of this set with another set. |
int |
unionSize(DocSet other)
Returns the number of documents of the union of this set with another set. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BitDocSet()
public BitDocSet(FixedBitSet bits)
FixedBitSet
should be at
least maxDoc()
public BitDocSet(FixedBitSet bits, int size)
FixedBitSet
should be at least maxDoc()
Method Detail |
---|
public DocIterator iterator()
public FixedBitSet getBits()
FixedBitSet
with a bit set for every document in this
DocSet
. The default implementation iterates on all docs and sets
the relevant bits. You should override if you can provide a more efficient
implementation.
FixedBitSet
that should not be modified.public void add(int doc)
DocSet
add
in interface DocSet
DocSet.addUnique(int)
public void addUnique(int doc)
DocSet
This method may be faster then add(doc)
in some
implementaions provided the caller is certain of the precondition.
addUnique
in interface DocSet
DocSet.add(int)
public int size()
DocSet
public void invalidateSize()
public boolean exists(int doc)
FixedBitSet.length()
.
public int intersectionSize(DocSet other)
DocSet
intersectionSize
in interface DocSet
public boolean intersects(DocSet other)
DocSet
intersects
in interface DocSet
public int unionSize(DocSet other)
DocSet
unionSize
in interface DocSet
public int andNotSize(DocSet other)
DocSet
andNotSize
in interface DocSet
public void addAllTo(DocSet target)
DocSet
addAllTo
in interface DocSet
public DocSet andNot(DocSet other)
DocSet
andNot
in interface DocSet
public DocSet union(DocSet other)
DocSet
union
in interface DocSet
public long memSize()
DocSet
protected BitDocSet clone()
clone
in class Object
public Filter getTopFilter()
DocSet
getTopFilter
in interface DocSet
public static FixedBitSet toBitSet(DocSet set)
public boolean equals(Object obj)
equals
in class Object
public DocSet intersection(DocSet other)
DocSet
intersection
in interface DocSet
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |