Package org.apache.lucene.search
Class TopDocs
- java.lang.Object
-
- org.apache.lucene.search.TopDocs
-
- Direct Known Subclasses:
TopFieldDocs
public class TopDocs extends Object
Represents hits returned byIndexSearcher.search(Query,int)
.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description float
getMaxScore()
Returns the maximum score value encountered.static TopDocs
merge(int start, int topN, TopDocs[] shardHits, boolean setShardIndex)
Same asmerge(int, TopDocs[])
but also ignores the topstart
top docs.static TopDocs
merge(int topN, TopDocs[] shardHits)
Returns a new TopDocs, containing topN results across the provided TopDocs, sorting by score.static TopFieldDocs
merge(Sort sort, int start, int topN, TopFieldDocs[] shardHits, boolean setShardIndex)
Same asmerge(Sort, int, TopFieldDocs[])
but also ignores the topstart
top docs.static TopFieldDocs
merge(Sort sort, int topN, TopFieldDocs[] shardHits)
Returns a new TopFieldDocs, containing topN results across the provided TopFieldDocs, sorting by the specifiedSort
.void
setMaxScore(float maxScore)
Sets the maximum score value encountered.
-
-
-
Field Detail
-
totalHits
public long totalHits
The total number of hits for the query.
-
scoreDocs
public ScoreDoc[] scoreDocs
The top hits for the query.
-
-
Constructor Detail
-
TopDocs
public TopDocs(long totalHits, ScoreDoc[] scoreDocs, float maxScore)
-
-
Method Detail
-
getMaxScore
public float getMaxScore()
Returns the maximum score value encountered. Note that in case scores are not tracked, this returnsFloat.NaN
.
-
setMaxScore
public void setMaxScore(float maxScore)
Sets the maximum score value encountered.
-
merge
public static TopDocs merge(int topN, TopDocs[] shardHits)
Returns a new TopDocs, containing topN results across the provided TopDocs, sorting by score. EachTopDocs
instance must be sorted.- See Also:
merge(int, int, TopDocs[], boolean)
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
merge
public static TopDocs merge(int start, int topN, TopDocs[] shardHits, boolean setShardIndex)
Same asmerge(int, TopDocs[])
but also ignores the topstart
top docs. This is typically useful for pagination. Note: IfsetShardIndex
is true, this method will assume the incoming order ofshardHits
reflects each shard's index and will fill theScoreDoc.shardIndex
, otherwise it must already be set for all incomingScoreDoc
s, which can be useful when doing multiple reductions (merges) of TopDocs.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
merge
public static TopFieldDocs merge(Sort sort, int topN, TopFieldDocs[] shardHits)
Returns a new TopFieldDocs, containing topN results across the provided TopFieldDocs, sorting by the specifiedSort
. Each of the TopDocs must have been sorted by the same Sort, and sort field values must have been filled (ie,fillFields=true
must be passed toTopFieldCollector.create(org.apache.lucene.search.Sort, int, boolean, boolean, boolean)
).- See Also:
merge(Sort, int, int, TopFieldDocs[], boolean)
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
merge
public static TopFieldDocs merge(Sort sort, int start, int topN, TopFieldDocs[] shardHits, boolean setShardIndex)
Same asmerge(Sort, int, TopFieldDocs[])
but also ignores the topstart
top docs. This is typically useful for pagination. Note: IfsetShardIndex
is true, this method will assume the incoming order ofshardHits
reflects each shard's index and will fill theScoreDoc.shardIndex
, otherwise it must already be set for all incomingScoreDoc
s, which can be useful when doing multiple reductions (merges) of TopDocs.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-