Package org.apache.lucene.sandbox.search
Class LargeNumHitsTopDocsCollector
- java.lang.Object
-
- org.apache.lucene.sandbox.search.LargeNumHitsTopDocsCollector
-
- All Implemented Interfaces:
Collector
public final class LargeNumHitsTopDocsCollector extends java.lang.Object implements Collector
Optimized collector for large number of hits. The collector maintains an ArrayList of hits until it accumulates the requested number of hits. Post that, it builds a Priority Queue and starts filtering further hits based on the minimum competitive score.
-
-
Constructor Summary
Constructors Constructor Description LargeNumHitsTopDocsCollector(int requestedHitCount)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LeafCollector
getLeafCollector(LeafReaderContext context)
Create a newcollector
to collect the given context.protected TopDocs
newTopDocs(ScoreDoc[] results)
Returns aTopDocs
instance containing the given results.protected void
populateResults(ScoreDoc[] results, int howMany)
Populates the results array with the ScoreDoc instances.ScoreMode
scoreMode()
Indicates what features are required from the scorer.TopDocs
topDocs()
Returns the top docs that were collected by this collector.TopDocs
topDocs(int howMany)
Returns the top docs that were collected by this collector.
-
-
-
Method Detail
-
scoreMode
public ScoreMode scoreMode()
Description copied from interface:Collector
Indicates what features are required from the scorer.
-
getLeafCollector
public LeafCollector getLeafCollector(LeafReaderContext context)
Description copied from interface:Collector
Create a newcollector
to collect the given context.- Specified by:
getLeafCollector
in interfaceCollector
- Parameters:
context
- next atomic reader context
-
topDocs
public TopDocs topDocs(int howMany)
Returns the top docs that were collected by this collector.
-
populateResults
protected void populateResults(ScoreDoc[] results, int howMany)
Populates the results array with the ScoreDoc instances. This can be overridden in case a different ScoreDoc type should be returned.
-
newTopDocs
protected TopDocs newTopDocs(ScoreDoc[] results)
Returns aTopDocs
instance containing the given results. Ifresults
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.
-
topDocs
public TopDocs topDocs()
Returns the top docs that were collected by this collector.
-
-