Package org.apache.lucene.search
Class TopScoreDocCollector
A
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.
-
Field Summary
Fields inherited from class org.apache.lucene.search.TopDocsCollector
EMPTY_TOPDOCS, pq, totalHits -
Method Summary
Modifier and TypeMethodDescriptionstatic TopScoreDocCollectorcreate(int numHits, boolean docsScoredInOrder) Creates a newTopScoreDocCollectorgiven the number of hits to collect and whether documents are scored in order by the inputScorertosetScorer(Scorer).static TopScoreDocCollectorCreates a newTopScoreDocCollectorgiven the number of hits to collect, the bottom of the previous page, and whether documents are scored in order by the inputScorertosetScorer(Scorer).protected TopDocsnewTopDocs(ScoreDoc[] results, int start) Returns aTopDocsinstance containing the given results.voidsetNextReader(AtomicReaderContext context) Called before collecting from eachAtomicReaderContext.voidCalled before successive calls toCollector.collect(int).Methods inherited from class org.apache.lucene.search.TopDocsCollector
getTotalHits, populateResults, topDocs, topDocs, topDocs, topDocsSizeMethods inherited from class org.apache.lucene.search.Collector
acceptsDocsOutOfOrder, collect
-
Method Details
-
create
Creates a newTopScoreDocCollectorgiven the number of hits to collect and whether documents are scored in order by the inputScorertosetScorer(Scorer).NOTE: The instances returned by this method pre-allocate a full array of length
numHits, and fill the array with sentinel objects. -
create
Creates a newTopScoreDocCollectorgiven the number of hits to collect, the bottom of the previous page, and whether documents are scored in order by the inputScorertosetScorer(Scorer).NOTE: The instances returned by this method pre-allocate a full array of length
numHits, and fill the array with sentinel objects. -
newTopDocs
Description copied from class:TopDocsCollectorReturns aTopDocsinstance containing the given results. Ifresultsis 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.- Overrides:
newTopDocsin classTopDocsCollector<ScoreDoc>
-
setNextReader
Description copied from class:CollectorCalled before collecting from eachAtomicReaderContext. All doc ids inCollector.collect(int)will correspond toIndexReaderContext.reader(). AddAtomicReaderContext.docBaseto the currentIndexReaderContext.reader()'s internal document id to re-base ids inCollector.collect(int).- Specified by:
setNextReaderin classCollector- Parameters:
context- next atomic reader context
-
setScorer
Description copied from class:CollectorCalled before successive calls toCollector.collect(int). Implementations that need the score of the current document (passed-in toCollector.collect(int)), should save the passed-in Scorer and call scorer.score() when needed.- Specified by:
setScorerin classCollector- Throws:
IOException
-