Package org.apache.lucene.search
Class MultiCollector
- java.lang.Object
-
- org.apache.lucene.search.MultiCollector
-
- All Implemented Interfaces:
Collector
public class MultiCollector extends Object implements Collector
ACollector
which allows running a search with severalCollector
s. It offers a staticwrap(org.apache.lucene.search.Collector...)
method which accepts a list of collectors and wraps them withMultiCollector
, while filtering out thenull
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 mixingTopScoreDocCollector
andTotalHitCountCollector
, it should be faster to run the query twice, once for each collector, rather than using this wrapper on a single search.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Collector[]
getCollectors()
Provides access to the wrappedCollector
s for advanced use-casesLeafCollector
getLeafCollector(LeafReaderContext context)
Create a newcollector
to collect the given context.ScoreMode
scoreMode()
Indicates what features are required from the scorer.static Collector
wrap(Iterable<? extends Collector> collectors)
Wraps a list ofCollector
s with aMultiCollector
.static Collector
wrap(Collector... collectors)
Seewrap(Iterable)
.
-
-
-
Method Detail
-
wrap
public static Collector wrap(Collector... collectors)
Seewrap(Iterable)
.
-
wrap
public static Collector wrap(Iterable<? extends Collector> collectors)
Wraps a list ofCollector
s with aMultiCollector
. This method works as follows:- Filters out the
null
collectors, 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
MultiCollector
which wraps the non-null
ones.
- Throws:
IllegalArgumentException
- if either 0 collectors were input, or all collectors arenull
.
- Filters out the
-
scoreMode
public ScoreMode scoreMode()
Description copied from interface:Collector
Indicates what features are required from the scorer.
-
getLeafCollector
public LeafCollector getLeafCollector(LeafReaderContext context) throws IOException
Description copied from interface:Collector
Create a newcollector
to collect the given context.- Specified by:
getLeafCollector
in interfaceCollector
- Parameters:
context
- next atomic reader context- Throws:
IOException
-
getCollectors
public Collector[] getCollectors()
Provides access to the wrappedCollector
s for advanced use-cases
-
-