public abstract class TopScoreDocCollector extends TopDocsCollector<ScoreDoc>
Collector
implementation that collects the top-scoring hits,
returning them as a TopDocs
. This is used by IndexSearcher
to
implement TopDocs
-based search. Hits are sorted by score descending
and then (when the scores are tied) docID ascending. When you create an
instance of this collector you should know in advance whether documents are
going to be collected in doc Id order or not.
NOTE: The values Float.NaN
and
Float.NEGATIVE_INFINITY
are not valid scores. This
collector will not properly collect hits with such
scores.
EMPTY_TOPDOCS, pq, totalHits
Modifier and Type | Method and Description |
---|---|
static TopScoreDocCollector |
create(int numHits)
Creates a new
TopScoreDocCollector given the number of hits to
collect and whether documents are scored in order by the input
Scorer to LeafCollector.setScorer(Scorer) . |
static TopScoreDocCollector |
create(int numHits,
ScoreDoc after)
Creates a new
TopScoreDocCollector given the number of hits to
collect, the bottom of the previous page, and whether documents are scored in order by the input
Scorer to LeafCollector.setScorer(Scorer) . |
boolean |
needsScores()
Indicates if document scores are needed by this collector.
|
protected TopDocs |
newTopDocs(ScoreDoc[] results,
int start)
Returns a
TopDocs instance containing the given results. |
getTotalHits, populateResults, topDocs, topDocs, topDocs, topDocsSize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getLeafCollector
public static TopScoreDocCollector create(int numHits)
TopScoreDocCollector
given the number of hits to
collect and whether documents are scored in order by the input
Scorer
to LeafCollector.setScorer(Scorer)
.
NOTE: The instances returned by this method
pre-allocate a full array of length
numHits
, and fill the array with sentinel
objects.
public static TopScoreDocCollector create(int numHits, ScoreDoc after)
TopScoreDocCollector
given the number of hits to
collect, the bottom of the previous page, and whether documents are scored in order by the input
Scorer
to LeafCollector.setScorer(Scorer)
.
NOTE: The instances returned by this method
pre-allocate a full array of length
numHits
, and fill the array with sentinel
objects.
protected TopDocs newTopDocs(ScoreDoc[] results, int start)
TopDocsCollector
TopDocs
instance containing the given results. If
results
is null it means there are no results to return,
either because there were 0 calls to collect() or because the arguments to
topDocs were invalid.newTopDocs
in class TopDocsCollector<ScoreDoc>
public boolean needsScores()
Collector
true
if scores are needed.Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.