public abstract class TopFieldCollector extends TopDocsCollector<FieldValueHitQueue.Entry>
Collector that sorts by SortField using
FieldComparators.
See the create(org.apache.lucene.search.Sort, int, int) method
for instantiating a TopFieldCollector.
EMPTY_TOPDOCS, pq, totalHits, totalHitsRelation| Modifier and Type | Method and Description |
|---|---|
static TopFieldCollector |
create(Sort sort,
int numHits,
FieldDoc after,
int totalHitsThreshold)
Creates a new
TopFieldCollector from the given
arguments. |
static TopFieldCollector |
create(Sort sort,
int numHits,
int totalHitsThreshold)
Creates a new
TopFieldCollector from the given
arguments. |
static CollectorManager<TopFieldCollector,TopFieldDocs> |
createSharedManager(Sort sort,
int numHits,
FieldDoc after,
int totalHitsThreshold)
Create a CollectorManager which uses a shared hit counter to maintain number of hits
and a shared
MaxScoreAccumulator to propagate the minimum score accross segments if
the primary sort is by relevancy. |
boolean |
isEarlyTerminated()
Return whether collection terminated early.
|
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.
|
static void |
populateScores(ScoreDoc[] topDocs,
IndexSearcher searcher,
Query query)
Populate
scores of the given topDocs. |
ScoreMode |
scoreMode()
Indicates what features are required from the scorer.
|
TopFieldDocs |
topDocs()
Returns the top docs that were collected by this collector.
|
protected void |
updateGlobalMinCompetitiveScore(Scorable scorer) |
protected void |
updateMinCompetitiveScore(Scorable scorer) |
getTotalHits, topDocs, topDocs, topDocsSizeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetLeafCollectorpublic ScoreMode scoreMode()
Collectorprotected void updateGlobalMinCompetitiveScore(Scorable scorer) throws IOException
IOExceptionprotected void updateMinCompetitiveScore(Scorable scorer) throws IOException
IOExceptionpublic static TopFieldCollector create(Sort sort, int numHits, int totalHitsThreshold)
TopFieldCollector from the given
arguments.
NOTE: The instances returned by this method
pre-allocate a full array of length
numHits.
sort - the sort criteria (SortFields).numHits - the number of results to collect.totalHitsThreshold - the number of docs to count accurately. If the query matches more than
totalHitsThreshold hits then its hit count will be a
lower bound. On the other hand if the query matches less than or exactly
totalHitsThreshold hits then the hit count of the result will
be accurate. Integer.MAX_VALUE may be used to make the hit
count accurate, but this will also make query processing slower.TopFieldCollector instance which will sort the results by
the sort criteria.public static TopFieldCollector create(Sort sort, int numHits, FieldDoc after, int totalHitsThreshold)
TopFieldCollector from the given
arguments.
NOTE: The instances returned by this method
pre-allocate a full array of length
numHits.
sort - the sort criteria (SortFields).numHits - the number of results to collect.after - only hits after this FieldDoc will be collectedtotalHitsThreshold - the number of docs to count accurately. If the query matches more than
totalHitsThreshold hits then its hit count will be a
lower bound. On the other hand if the query matches less than or exactly
totalHitsThreshold hits then the hit count of the result will
be accurate. Integer.MAX_VALUE may be used to make the hit
count accurate, but this will also make query processing slower.
Setting totalHitsThreshold less than Integer.MAX_VALUE
instructs Lucene to skip non-competitive documents whenever possible. For numeric
sort fields the skipping functionality works when the same field is indexed both
with doc values and points. In this case, there is an assumption that the same data is
stored in these points and doc values.TopFieldCollector instance which will sort the results by
the sort criteria.public static CollectorManager<TopFieldCollector,TopFieldDocs> createSharedManager(Sort sort, int numHits, FieldDoc after, int totalHitsThreshold)
MaxScoreAccumulator to propagate the minimum score accross segments if
the primary sort is by relevancy.public static void populateScores(ScoreDoc[] topDocs, IndexSearcher searcher, Query query) throws IOException
scores of the given topDocs.topDocs - the top docs to populatesearcher - the index searcher that has been used to compute topDocsquery - the query that has been used to compute topDocsIllegalArgumentException - if there is evidence that topDocs
have been computed against a different searcher or a different query.IOExceptionprotected void populateResults(ScoreDoc[] results, int howMany)
TopDocsCollectorpopulateResults in class TopDocsCollector<FieldValueHitQueue.Entry>protected TopDocs newTopDocs(ScoreDoc[] results, int start)
TopDocsCollectorTopDocs 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<FieldValueHitQueue.Entry>public TopFieldDocs topDocs()
TopDocsCollectortopDocs in class TopDocsCollector<FieldValueHitQueue.Entry>public boolean isEarlyTerminated()
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.