Package org.apache.lucene.search
Class MultiCollector
java.lang.Object
org.apache.lucene.search.MultiCollector
- All Implemented Interfaces:
Collector
A
Collector which allows running a search with several Collectors. It offers a
static wrap(org.apache.lucene.search.Collector...) method which accepts a list of collectors and wraps them with MultiCollector, while filtering out the null null ones.
NOTE:When mixing collectors that want to skip low-scoring hits (ScoreMode.TOP_SCORES) with ones that require to see all hits, such as mixing TopScoreDocCollector and TotalHitCountCollector, it should be faster to run the query
twice, once for each collector, rather than using this wrapper on a single search.
-
Method Summary
Modifier and TypeMethodDescriptionProvides access to the wrappedCollectors for advanced use-casesgetLeafCollector(LeafReaderContext context) Create a newcollectorto collect the given context.Indicates what features are required from the scorer.voidSet theWeightthat will be used to produce scorers that will feedLeafCollectors.static CollectorWraps a list ofCollectors with aMultiCollector.static CollectorSeewrap(Iterable).
-
Method Details
-
wrap
Seewrap(Iterable). -
wrap
Wraps a list ofCollectors with aMultiCollector. This method works as follows:- Filters out the
nullcollectors, so they are not used during search time. - If the input contains 1 real collector (i.e. non-
null), it is returned. - Otherwise the method returns a
MultiCollectorwhich wraps the non-nullones.
- Throws:
IllegalArgumentException- if either 0 collectors were input, or all collectors arenull.
- Filters out the
-
scoreMode
Description copied from interface:CollectorIndicates what features are required from the scorer. -
getLeafCollector
Description copied from interface:CollectorCreate a newcollectorto collect the given context.- Specified by:
getLeafCollectorin interfaceCollector- Parameters:
context- next atomic reader context- Throws:
IOException
-
setWeight
Description copied from interface:CollectorSet theWeightthat will be used to produce scorers that will feedLeafCollectors. This is typically useful to have access toWeight.count(org.apache.lucene.index.LeafReaderContext)fromCollector.getLeafCollector(org.apache.lucene.index.LeafReaderContext). -
getCollectors
Provides access to the wrappedCollectors for advanced use-cases
-