public class EarlyTerminatingSortingCollector extends FilterCollector
Collector that early terminates collection of documents on a
 per-segment basis, if the segment was sorted according to the given
 Sort.
 
 NOTE: the Collector detects segments sorted according to a
 an IndexWriterConfig.setIndexSort(org.apache.lucene.search.Sort). Also, it collects up to a specified
 numDocsToCollect from each segment, and therefore is mostly suitable
 for use in conjunction with collectors such as TopDocsCollector, and
 not e.g. TotalHitCountCollector.
 
 NOTE: If you wrap a TopDocsCollector that sorts in the same
 order as the index order, the returned TopDocs
 will be correct. However the total of hit count will be vastly underestimated since not all matching documents will have
 been collected.
| Modifier and Type | Field and Description | 
|---|---|
| protected int | numDocsToCollectNumber of documents to collect in each segment | 
| protected Sort | sortSort used to sort the search results | 
in| Constructor and Description | 
|---|
| EarlyTerminatingSortingCollector(Collector in,
                                Sort sort,
                                int numDocsToCollect)Create a new  EarlyTerminatingSortingCollectorinstance. | 
| Modifier and Type | Method and Description | 
|---|---|
| static boolean | canEarlyTerminate(Sort searchSort,
                 Sort mergePolicySort) | 
| LeafCollector | getLeafCollector(LeafReaderContext context)Create a new  collectorto collect the given context. | 
| boolean | terminatedEarly() | 
needsScores, toStringprotected final Sort sort
protected final int numDocsToCollect
public EarlyTerminatingSortingCollector(Collector in, Sort sort, int numDocsToCollect)
EarlyTerminatingSortingCollector instance.in - the collector to wrapsort - the sort you are sorting the search results onnumDocsToCollect - the number of documents to collect on each segment. When wrapping
          a TopDocsCollector, this number should be the number of
          hits.IllegalArgumentException - if the sort order doesn't allow for early
          termination with the given merge policy.public LeafCollector getLeafCollector(LeafReaderContext context) throws IOException
Collectorcollector to collect the given context.getLeafCollector in interface CollectorgetLeafCollector in class FilterCollectorcontext - next atomic reader contextIOExceptionpublic boolean terminatedEarly()
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.