Package org.apache.solr.search
Class DocSlice
- java.lang.Object
-
- org.apache.solr.search.DocSlice
-
-
Constructor Summary
Constructors Constructor Description DocSlice(int offset, int len, int[] docs, float[] scores, long matches, float maxScore)
Primary constructor for a DocSlice instance.
-
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.DocSlice
clone()
boolean
equals(Object obj)
boolean
exists(int doc)
Returns true if a document is in the DocSet.protected 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.boolean
hasScores()
True if scores were retainedDocSet
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 commonDocIterator
iterator()
Returns an iterator that may be used to iterate over the documents in this DocListlong
matches()
Returns the total number of matches for the search (as opposed to just the number collected according tooffset()
andsize()
).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 instancesint
size()
Returns the number of ids in this list.DocList
subset(int offset, int len)
Get a subset of an existing DocList.static org.apache.lucene.util.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.-
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.search.DocSet
add, addAllTo, addUnique, andNot, andNotSize, getTopFilter, union, unionSize
-
-
-
-
Constructor Detail
-
DocSlice
public DocSlice(int offset, int len, int[] docs, float[] scores, long matches, float maxScore)
Primary constructor for a DocSlice instance.- Parameters:
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 query
-
-
Method Detail
-
subset
public DocList subset(int offset, int len)
Description copied from interface:DocList
Get a subset of an existing DocList. Returns null if not possible.
-
hasScores
public boolean hasScores()
Description copied from interface:DocList
True if scores were retained
-
maxScore
public float maxScore()
Description copied from interface:DocList
The maximum score for the search... only valid if scores were retained (if hasScores()==true)
-
offset
public int offset()
Description copied from interface:DocList
Returns the zero based offset of this list within the total ordered list of matches to the query.
-
size
public int size()
Description copied from interface:DocList
Returns the number of ids in this list.
-
matches
public long matches()
Description copied from interface:DocList
Returns the total number of matches for the search (as opposed to just the number collected according tooffset()
andsize()
). Hence it's always true that matches() >= size()
-
exists
public boolean exists(int doc)
Description copied from interface:DocSet
Returns true if a document is in the DocSet.
-
iterator
public DocIterator iterator()
Description copied from interface:DocList
Returns an iterator that may be used to iterate over the documents in this DocListThe 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.- Specified by:
iterator
in interfaceDocList
- Specified by:
iterator
in interfaceDocSet
- See Also:
DocList.hasScores()
-
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
-
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
-
ramBytesUsed
public long ramBytesUsed()
WARNING: this can over-estimate real memory use since backing arrays are shared with other DocSlice instances- Specified by:
ramBytesUsed
in interfaceorg.apache.lucene.util.Accountable
-
getChildResources
public Collection<org.apache.lucene.util.Accountable> getChildResources()
- Specified by:
getChildResources
in interfaceorg.apache.lucene.util.Accountable
-
toBitSet
public static org.apache.lucene.util.FixedBitSet toBitSet(DocSet set)
-
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
- Throws:
SolrException
- Base implementation does not allow modifications- 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
- Throws:
SolrException
- Base implementation does not allow modifications- See Also:
DocSet.add(int)
-
getBits
protected 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.
-
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.
-
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.
-
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.
-
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
-
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
-
-