Package org.apache.solr.search
Class BitDocSet
- java.lang.Object
-
- org.apache.solr.search.BitDocSet
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.BitDocSet
clone()
boolean
equals(Object obj)
boolean
exists(int doc)
Returns true of the doc exists in the set.org.apache.lucene.util.FixedBitSet
getBits()
Return aFixedBitSet
with a bit set for every document in thisDocSet
.Collection<org.apache.lucene.util.Accountable>
getChildResources()
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 commonvoid
invalidateSize()
The number of set bits - size - is cached.DocIterator
iterator()
Returns an iterator that may be used to iterate over all of the documents in the set.long
ramBytesUsed()
int
size()
Returns the number of documents in the set.static org.apache.lucene.util.FixedBitSet
toBitSet(DocSet set)
String
toString()
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.
-
-
-
Constructor Detail
-
BitDocSet
public BitDocSet()
-
BitDocSet
public BitDocSet(org.apache.lucene.util.FixedBitSet bits)
Construct a BitDocSet. The capacity of theFixedBitSet
should be at least maxDoc()
-
BitDocSet
public BitDocSet(org.apache.lucene.util.FixedBitSet bits, int size)
Construct a BitDocSet, and provides the number of set bits. The capacity of theFixedBitSet
should be at least maxDoc()
-
-
Method Detail
-
iterator
public DocIterator iterator()
Description copied from interface:DocSet
Returns an iterator that may be used to iterate over all of the documents in the set.The order of the documents returned by this iterator is non-deterministic, and any scoring information is meaningless
-
getBits
public org.apache.lucene.util.FixedBitSet getBits()
Return aFixedBitSet
with a bit set for every document in thisDocSet
. The default implementation iterates on all docs and sets the relevant bits. You should override if you can provide a more efficient implementation.- Returns:
- the internal
FixedBitSet
that should not be modified.
-
add
public void add(int doc)
Description copied from interface:DocSet
Adds the specified document if it is not currently in the DocSet (optional operation).- Specified by:
add
in interfaceDocSet
- See Also:
DocSet.addUnique(int)
-
addUnique
public void addUnique(int doc)
Description copied from interface:DocSet
Adds a document the caller knows is not currently in the DocSet (optional operation).This method may be faster then
add(doc)
in some implementations provided the caller is certain of the precondition.- Specified by:
addUnique
in interfaceDocSet
- See Also:
DocSet.add(int)
-
size
public int size()
Description copied from interface:DocSet
Returns the number of documents in the set.
-
invalidateSize
public void invalidateSize()
The number of set bits - size - is cached. If the bitset is changed externally, this method should be used to invalidate the previously cached size.
-
exists
public boolean exists(int doc)
Returns true of the doc exists in the set. Should only be called when doc <FixedBitSet.length()
.
-
intersectionSize
public int intersectionSize(DocSet other)
Description copied from interface:DocSet
Returns the number of documents of the intersection of this set with another set. May be more efficient than actually creating the intersection and then getting its size.- Specified by:
intersectionSize
in interfaceDocSet
-
intersects
public boolean intersects(DocSet other)
Description copied from interface:DocSet
Returns true if these sets have any elements in common- Specified by:
intersects
in interfaceDocSet
-
unionSize
public int unionSize(DocSet other)
Description copied from interface:DocSet
Returns the number of documents of the union of this set with another set. May be more efficient than actually creating the union and then getting its size.
-
andNotSize
public int andNotSize(DocSet other)
Description copied from interface:DocSet
Returns the number of documents in this set that are not in the other set.- Specified by:
andNotSize
in interfaceDocSet
-
addAllTo
public void addAllTo(DocSet target)
Description copied from interface:DocSet
Adds all the docs from this set to the target set. The target should be sized large enough to accommodate all of the documents before calling this method.
-
andNot
public DocSet andNot(DocSet other)
Description copied from interface:DocSet
Returns the documents in this set that are not in the other set. Neither set is modified - a new DocSet is created and returned.
-
union
public DocSet union(DocSet other)
Description copied from interface:DocSet
Returns the union of this set with another set. Neither set is modified - a new DocSet is created and returned.
-
getTopFilter
public Filter getTopFilter()
Description copied from interface:DocSet
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.- Specified by:
getTopFilter
in interfaceDocSet
-
ramBytesUsed
public long ramBytesUsed()
-
getChildResources
public Collection<org.apache.lucene.util.Accountable> getChildResources()
-
toBitSet
public static org.apache.lucene.util.FixedBitSet toBitSet(DocSet set)
-
intersection
public DocSet intersection(DocSet other)
Description copied from interface:DocSet
Returns the intersection of this set with another set. Neither set is modified - a new DocSet is created and returned.- Specified by:
intersection
in interfaceDocSet
- Returns:
- a DocSet representing the intersection
-
-