public class SortedIntDocSet extends Object
SortedIntDocSet
represents a sorted set of Lucene Document Ids.Modifier and Type | Field and Description |
---|---|
protected int[] |
docs |
static SortedIntDocSet |
zero |
static int[] |
zeroInts |
Constructor and Description |
---|
SortedIntDocSet(int[] docs) |
SortedIntDocSet(int[] docs,
int len) |
Modifier and Type | Method and 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.
|
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
|
protected static int |
andNotBinarySearch(int[] a,
int lena,
int[] b,
int lenb,
int[] target) |
int |
andNotSize(DocSet other)
Returns the number of documents in this set that are not in the other set.
|
SortedIntDocSet |
clone() |
void |
close()
FUTURE: for off-heap
|
boolean |
equals(Object obj) |
boolean |
exists(int doc)
Returns true if a document is in the DocSet.
|
static int |
findIndex(int[] arr,
int value,
int low,
int high) |
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
|
FixedBitSet |
getBits()
Return a
FixedBitSet with a bit set for every document in this
DocSet . |
Collection<Accountable> |
getChildResources() |
int[] |
getDocs() |
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.
|
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
|
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.
|
int |
intersectionSize(DocSet other)
Returns the number of documents of the intersection of this set with another set.
|
static int |
intersectionSize(int[] smallerSortedList,
int[] biggerSortedList) |
boolean |
intersects(DocSet other)
Returns true if these sets have any elements in common
|
static boolean |
intersects(int[] smallerSortedList,
int[] biggerSortedList) |
DocIterator |
iterator()
Returns an iterator that may be used to iterate over all of the documents in the set.
|
long |
ramBytesUsed() |
static int[] |
shrink(int[] arr,
int newSize) |
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.
|
protected final int[] docs
public static int[] zeroInts
public static SortedIntDocSet zero
public SortedIntDocSet(int[] docs)
docs
- Sorted list of idspublic SortedIntDocSet(int[] docs, int len)
docs
- Sorted list of idslen
- Number of ids in the listpublic int[] getDocs()
public int size()
DocSet
public static int[] shrink(int[] arr, int newSize)
public static int firstNonSorted(int[] arr, int offset, int len)
public static int intersectionSize(int[] smallerSortedList, int[] biggerSortedList)
public static boolean intersects(int[] smallerSortedList, int[] biggerSortedList)
public int intersectionSize(DocSet other)
DocSet
intersectionSize
in interface DocSet
public boolean intersects(DocSet other)
DocSet
intersects
in interface DocSet
public static int intersection(int[] a, int lena, int[] b, int lenb, int[] target)
protected static int intersectionBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)
public DocSet intersection(DocSet other)
DocSet
intersection
in interface DocSet
protected static int andNotBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)
public static int andNot(int[] a, int lena, int[] b, int lenb, int[] target)
public DocSet andNot(DocSet other)
DocSet
public void addAllTo(DocSet target)
DocSet
public boolean exists(int doc)
DocSet
public DocIterator iterator()
DocSet
The order of the documents returned by this iterator is non-deterministic, and any scoring information is meaningless
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.public static int findIndex(int[] arr, int value, int low, int high)
public Filter getTopFilter()
DocSet
getTopFilter
in interface DocSet
public SortedIntDocSet clone()
public long ramBytesUsed()
public Collection<Accountable> getChildResources()
public static FixedBitSet toBitSet(DocSet set)
public void add(int doc)
DocSet
add
in interface DocSet
SolrException
- Base implementation does not allow modificationsDocSet.addUnique(int)
public void addUnique(int doc)
DocSet
This method may be faster then add(doc)
in some
implementations provided the caller is certain of the precondition.
addUnique
in interface DocSet
SolrException
- Base implementation does not allow modificationsDocSet.add(int)
public DocSet union(DocSet other)
DocSet
public int unionSize(DocSet other)
DocSet
public int andNotSize(DocSet other)
DocSet
andNotSize
in interface DocSet
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.