public abstract class TopDocsCollector<T extends ScoreDoc> extends Object implements Collector
TopDocs
output. This
collector allows easy extension by providing a single constructor which
accepts a PriorityQueue
as well as protected members for that
priority queue and a counter of the number of total hits.TopDocsCollector(PriorityQueue)
. In that case
however, you might want to consider overriding all methods, in order to avoid
a NullPointerException.Modifier and Type | Field and Description |
---|---|
protected static TopDocs |
EMPTY_TOPDOCS
This is used in case topDocs() is called with illegal parameters, or there
simply aren't (enough) results.
|
protected PriorityQueue<T> |
pq
The priority queue which holds the top documents.
|
protected int |
totalHits
The total number of documents that the collector encountered.
|
protected TotalHits.Relation |
totalHitsRelation
Whether
totalHits is exact or a lower bound. |
Modifier | Constructor and Description |
---|---|
protected |
TopDocsCollector(PriorityQueue<T> pq) |
Modifier and Type | Method and Description |
---|---|
int |
getTotalHits()
The total number of documents that matched this query.
|
protected TopDocs |
newTopDocs(ScoreDoc[] results,
int start)
Returns a
TopDocs instance containing the given results. |
protected void |
populateResults(ScoreDoc[] results,
int howMany)
Populates the results array with the ScoreDoc instances.
|
TopDocs |
topDocs()
Returns the top docs that were collected by this collector.
|
TopDocs |
topDocs(int start)
Returns the documents in the range [start ..
|
TopDocs |
topDocs(int start,
int howMany)
Returns the documents in the range [start ..
|
protected int |
topDocsSize()
The number of valid PQ entries
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getLeafCollector, scoreMode
protected static final TopDocs EMPTY_TOPDOCS
protected final PriorityQueue<T extends ScoreDoc> pq
protected int totalHits
protected TotalHits.Relation totalHitsRelation
totalHits
is exact or a lower bound.protected TopDocsCollector(PriorityQueue<T> pq)
protected void populateResults(ScoreDoc[] results, int howMany)
protected TopDocs newTopDocs(ScoreDoc[] results, int start)
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.public int getTotalHits()
protected int topDocsSize()
public TopDocs topDocs()
public TopDocs topDocs(int start)
start >= pq.size()
, an empty TopDocs is
returned.start
, you should call topDocs()
and work
with the returned TopDocs
object, which will contain all the
results this search execution collected.public TopDocs topDocs(int start, int howMany)
start >= pq.size()
, an empty
TopDocs is returned, and if pq.size() - start < howMany, then only the
available documents in [start .. pq.size()) are returned.topDocs()
and work with the
returned TopDocs
object, which will contain all the results this
search execution collected.Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.