Package org.apache.solr.search
Class SortedIntDocSet
- java.lang.Object
-
- org.apache.solr.search.SortedIntDocSet
-
-
Constructor Summary
Constructors Constructor Description SortedIntDocSet(int[] docs)SortedIntDocSet(int[] docs, int len)
-
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).static intandNot(int[] a, int lena, int[] b, int lenb, int[] target)puts the intersection of a and not b into the target array and returns the sizeDocSetandNot(DocSet other)Returns the documents in this set that are not in the other set.protected static intandNotBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)intandNotSize(DocSet other)Returns the number of documents in this set that are not in the other set.SortedIntDocSetclone()booleanequals(Object obj)booleanexists(int doc)Returns true if a document is in the DocSet.static intfindIndex(int[] arr, int value, int low, int high)static intfirstNonSorted(int[] arr, int offset, int len)Returns the index of the first non-sorted element or -1 if they are all sortedorg.apache.lucene.util.FixedBitSetgetBits()Return aFixedBitSetwith a bit set for every document in thisDocSet.Collection<org.apache.lucene.util.Accountable>getChildResources()int[]getDocs()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.static intintersection(int[] a, int lena, int[] b, int lenb, int[] target)puts the intersection of a and b into the target array and returns the sizeDocSetintersection(DocSet other)Returns the intersection of this set with another set.protected static intintersectionBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)Puts the intersection of a and b into the target array and returns the size.static intintersectionSize(int[] smallerSortedList, int[] biggerSortedList)intintersectionSize(DocSet other)Returns the number of documents of the intersection of this set with another set.static booleanintersects(int[] smallerSortedList, int[] biggerSortedList)booleanintersects(DocSet other)Returns true if these sets have any elements in commonDocIteratoriterator()Returns an iterator that may be used to iterate over all of the documents in the set.longramBytesUsed()static int[]shrink(int[] arr, int newSize)intsize()Returns the number of documents in the set.static org.apache.lucene.util.FixedBitSettoBitSet(DocSet set)StringtoString()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.
-
-
-
Field Detail
-
docs
protected final int[] docs
-
zeroInts
public static int[] zeroInts
-
zero
public static SortedIntDocSet zero
-
-
Method Detail
-
getDocs
public int[] getDocs()
-
size
public int size()
Description copied from interface:DocSetReturns the number of documents in the set.
-
shrink
public static int[] shrink(int[] arr, int newSize)
-
firstNonSorted
public static int firstNonSorted(int[] arr, int offset, int len)Returns the index of the first non-sorted element or -1 if they are all sorted
-
intersectionSize
public static int intersectionSize(int[] smallerSortedList, int[] biggerSortedList)
-
intersects
public static boolean intersects(int[] smallerSortedList, int[] biggerSortedList)
-
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
-
intersection
public static int intersection(int[] a, int lena, int[] b, int lenb, int[] target)puts the intersection of a and b into the target array and returns the size
-
intersectionBinarySearch
protected static int intersectionBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)Puts the intersection of a and b into the target array and returns the size. lena should be smaller than lenb
-
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
-
andNotBinarySearch
protected static int andNotBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)
-
andNot
public static int andNot(int[] a, int lena, int[] b, int lenb, int[] target)puts the intersection of a and not b into the target array and returns the size
-
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.
-
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.
-
exists
public boolean exists(int doc)
Description copied from interface:DocSetReturns true if a document is in the DocSet.
-
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.
-
findIndex
public static int findIndex(int[] arr, int value, int low, int high)
-
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
-
clone
public SortedIntDocSet clone()
-
ramBytesUsed
public long ramBytesUsed()
-
getChildResources
public Collection<org.apache.lucene.util.Accountable> getChildResources()
-
toBitSet
public static org.apache.lucene.util.FixedBitSet toBitSet(DocSet set)
-
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- Throws:
SolrException- Base implementation does not allow modifications- 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- Throws:
SolrException- Base implementation does not allow modifications- See Also:
DocSet.add(int)
-
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.
-
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
-
-