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 voidadd(int doc)Adds the specified document if it is not currently in the DocSet (optional operation).voidaddAllTo(DocSet target)Adds all the docs from this set to the target set.voidaddUnique(int doc)Adds a document the caller knows is not currently in the DocSet (optional operation).DocSetandNot(DocSet other)Returns the documents in this set that are not in the other set.intandNotSize(DocSet other)Returns the number of documents in this set that are not in the other set.BitDocSetclone()booleanequals(Object obj)booleanexists(int doc)Returns true of the doc exists in the set.org.apache.lucene.util.FixedBitSetgetBits()Return aFixedBitSetwith a bit set for every document in thisDocSet.Collection<org.apache.lucene.util.Accountable>getChildResources()FiltergetTopFilter()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.DocSetintersection(DocSet other)Returns the intersection of this set with another set.intintersectionSize(DocSet other)Returns the number of documents of the intersection of this set with another set.booleanintersects(DocSet other)Returns true if these sets have any elements in commonvoidinvalidateSize()The number of set bits - size - is cached.DocIteratoriterator()Returns an iterator that may be used to iterate over all of the documents in the set.longramBytesUsed()intsize()Returns the number of documents in the set.static org.apache.lucene.util.FixedBitSettoBitSet(DocSet set)DocSetunion(DocSet other)Returns the union of this set with another set.intunionSize(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 theFixedBitSetshould 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 theFixedBitSetshould be at least maxDoc()
-
-
Method Detail
-
iterator
public DocIterator iterator()
Description copied from interface:DocSetReturns 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 aFixedBitSetwith 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
FixedBitSetthat should not be modified.
-
add
public void add(int doc)
Description copied from interface:DocSetAdds the specified document if it is not currently in the DocSet (optional operation).- Specified by:
addin interfaceDocSet- See Also:
DocSet.addUnique(int)
-
addUnique
public void addUnique(int doc)
Description copied from interface:DocSetAdds 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:
addUniquein interfaceDocSet- See Also:
DocSet.add(int)
-
size
public int size()
Description copied from interface:DocSetReturns 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:DocSetReturns 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:
intersectionSizein interfaceDocSet
-
intersects
public boolean intersects(DocSet other)
Description copied from interface:DocSetReturns true if these sets have any elements in common- Specified by:
intersectsin interfaceDocSet
-
unionSize
public int unionSize(DocSet other)
Description copied from interface:DocSetReturns 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:DocSetReturns the number of documents in this set that are not in the other set.- Specified by:
andNotSizein interfaceDocSet
-
addAllTo
public void addAllTo(DocSet target)
Description copied from interface:DocSetAdds 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:DocSetReturns 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:DocSetReturns 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:DocSetReturns 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:
getTopFilterin 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:DocSetReturns the intersection of this set with another set. Neither set is modified - a new DocSet is created and returned.- Specified by:
intersectionin interfaceDocSet- Returns:
- a DocSet representing the intersection
-
-