public class DocSlice extends Object implements DocList
DocSlice
implements DocList as an array of docids and optional scores.Constructor and Description |
---|
DocSlice(int offset,
int len,
int[] docs,
float[] scores,
int matches,
float maxScore)
Primary constructor for a DocSlice instance.
|
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.
|
int |
andNotSize(DocSet other)
Returns the number of documents in this set that are not in the other set.
|
protected DocSlice |
clone() |
void |
close()
FUTURE: for off-heap
|
boolean |
equals(Object obj) |
boolean |
exists(int doc)
Returns true if a document is in the DocSet.
|
protected FixedBitSet |
getBits()
Return a
FixedBitSet with a bit set for every document in this
DocSet . |
Collection<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.
|
boolean |
hasScores()
True if scores were retained
|
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
|
DocIterator |
iterator()
Returns an iterator that may be used to iterate over the documents in this DocList
|
int |
matches()
Returns the total number of matches for the search
(as opposed to just the number collected according
to
offset() and size() ). |
float |
maxScore()
The maximum score for the search...
|
int |
offset()
Returns the zero based offset of this list within the total ordered list of matches to the query.
|
long |
ramBytesUsed()
WARNING: this can over-estimate real memory use since backing arrays are shared with other DocSlice instances
|
int |
size()
Returns the number of ids in this list.
|
DocList |
subset(int offset,
int len)
Get a subset of an existing DocList.
|
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.
|
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
add, addAllTo, addUnique, andNot, andNotSize, getTopFilter, union, unionSize
public DocSlice(int offset, int len, int[] docs, float[] scores, int matches, float maxScore)
offset
- starting offset for this range of docslen
- length of resultsdocs
- array of docids starting at position 0scores
- array of scores that corresponds to docs, may be nullmatches
- total number of matches for the querypublic DocList subset(int offset, int len)
DocList
public boolean hasScores()
DocList
public float maxScore()
DocList
public int offset()
DocList
public int size()
DocList
public int matches()
DocList
offset()
and size()
).
Hence it's always true that matches() >= size()public boolean exists(int doc)
DocSet
public DocIterator iterator()
DocList
The order of the documents returned by this iterator is based on the
Sort order of the search that produced it. The Scoring information
is meaningful only if hasScores()
returns true.
iterator
in interface DocList
iterator
in interface DocSet
DocList.hasScores()
public DocSet intersection(DocSet other)
DocSet
intersection
in interface DocSet
public int intersectionSize(DocSet other)
DocSet
intersectionSize
in interface DocSet
public boolean intersects(DocSet other)
DocSet
intersects
in interface DocSet
public long ramBytesUsed()
ramBytesUsed
in interface Accountable
public Collection<Accountable> getChildResources()
getChildResources
in interface Accountable
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)
protected 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 DocSet union(DocSet other)
DocSet
public int unionSize(DocSet other)
DocSet
public DocSet andNot(DocSet other)
DocSet
public int andNotSize(DocSet other)
DocSet
andNotSize
in interface DocSet
public Filter getTopFilter()
DocSet
getTopFilter
in interface DocSet
public void addAllTo(DocSet target)
DocSet
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.