## Uses of Class
org.apache.lucene.search.Collector

Packages that use Collector
org.apache.lucene.benchmark.byTask.tasks: Extendable benchmark tasks.
org.apache.lucene.facet.search: Faceted Search API
org.apache.lucene.search: Code to search indices.
org.apache.lucene.search.grouping: This module enables search result grouping with Lucene, where hits with the same value in the specified single-valued group field are grouped together.
org.apache.lucene.search.join: This modules support index-time and query-time joins.

Uses of Collector in org.apache.lucene.benchmark.byTask.tasks

Methods in org.apache.lucene.benchmark.byTask.tasks that return Collector
`protected Collector` `ReadTask.createCollector()`
`protected Collector` `SearchWithCollectorTask.createCollector()`

Uses of Collector in org.apache.lucene.facet.search

Subclasses of Collector in org.apache.lucene.facet.search
`class` `FacetsCollector` Collector for facet accumulation.
`class` `ScoredDocIdCollector` A `Collector` which stores all docIDs and their scores in a `ScoredDocIDs` instance.

Uses of Collector in org.apache.lucene.search

Subclasses of Collector in org.apache.lucene.search
`class` `CachingCollector` Caches all docs, and optionally also scores, coming from a search, and is then able to replay them to another collector.
`static class` `CheckHits.ExplanationAsserter` Asserts that the score explanation for every document matching a query corresponds with the true score.
`static class` `CheckHits.SetCollector` Just collects document ids into a set.
`class` `MultiCollector` A `Collector` which allows running a search with several `Collector`s.
`class` `PositiveScoresOnlyCollector` A `Collector` implementation which wraps another `Collector` and makes sure only documents with scores > 0 are collected.
`class` `TimeLimitingCollector` The `TimeLimitingCollector` is used to timeout search requests that take longer than the maximum allowed search time limit.
`class` `TopDocsCollector<T extends ScoreDoc>` A base class for all collectors that return a `TopDocs` output.
`class` `TopFieldCollector` A `Collector` that sorts by `SortField` using `FieldComparator`s.
`class` `TopScoreDocCollector` A `Collector` implementation that collects the top-scoring hits, returning them as a `TopDocs`.
`class` `TotalHitCountCollector` Just counts the total number of hits.

Fields in org.apache.lucene.search declared as Collector
`protected Collector` `CachingCollector.other`

Methods in org.apache.lucene.search that return Collector
`static Collector` `MultiCollector.wrap(Collector... collectors)` Wraps a list of `Collector`s with a `MultiCollector`.

Methods in org.apache.lucene.search with parameters of type Collector
`static CachingCollector` `CachingCollector.create(Collector other, boolean cacheScores, double maxRAMMB)` Create a new `CachingCollector` that wraps the given collector and caches documents and scores up to the specified RAM threshold.
`static CachingCollector` `CachingCollector.create(Collector other, boolean cacheScores, int maxDocsToCache)` Create a new `CachingCollector` that wraps the given collector and caches documents and scores up to the specified max docs threshold.
`abstract void` `CachingCollector.replay(Collector other)` Replays the cached doc IDs (and scores) to the given Collector.
`void` `ScoreCachingWrappingScorer.score(Collector collector)`
`void` `ConstantScoreQuery.ConstantScorer.score(Collector collector)`
`void` `Scorer.score(Collector collector)` Scores and collects all matching documents.
`protected boolean` `ScoreCachingWrappingScorer.score(Collector collector, int max, int firstDocID)`
`protected boolean` `ConstantScoreQuery.ConstantScorer.score(Collector collector, int max, int firstDocID)`
`protected boolean` `Scorer.score(Collector collector, int max, int firstDocID)` Expert: Collects matching documents in a range.
`void` `CheckHits.ExplanationAssertingSearcher.search(Query query, Collector results)`
`void` `IndexSearcher.search(Query query, Collector results)` Lower-level search API.
`void` `Searcher.search(Query query, Collector results)` Deprecated. Lower-level search API.
`void` `CheckHits.ExplanationAssertingSearcher.search(Query query, Filter filter, Collector results)`
`void` `IndexSearcher.search(Query query, Filter filter, Collector results)` Lower-level search API.
`void` `Searcher.search(Query query, Filter filter, Collector results)` Deprecated. Lower-level search API.
`void` `RemoteSearchable.search(Weight weight, Filter filter, Collector results)` Deprecated.
`void` `IndexSearcher.search(Weight weight, Filter filter, Collector collector)` Lower-level search API.
`abstract void` `Searcher.search(Weight weight, Filter filter, Collector results)` Deprecated.
`void` `Searchable.search(Weight weight, Filter filter, Collector collector)` Deprecated. Lower-level search API.
`void` `ParallelMultiSearcher.search(Weight weight, Filter filter, Collector collector)` Deprecated. Lower-level search API.
`void` `MultiSearcher.search(Weight weight, Filter filter, Collector collector)` Deprecated.
`void` `TimeLimitingCollector.setCollector(Collector collector)` This is so the same timer can be used with a multi-phase search process such as grouping.
`static Collector` `MultiCollector.wrap(Collector... collectors)` Wraps a list of `Collector`s with a `MultiCollector`.

Constructors in org.apache.lucene.search with parameters of type Collector
`PositiveScoresOnlyCollector(Collector c)`
`TimeLimitingCollector(Collector collector, Counter clock, long ticksAllowed)` Create a TimeLimitedCollector wrapper over another `Collector` with a specified timeout.

Uses of Collector in org.apache.lucene.search.grouping

Subclasses of Collector in org.apache.lucene.search.grouping
`class` `AbstractAllGroupHeadsCollector<GH extends AbstractAllGroupHeadsCollector.GroupHead>` This collector specializes in collecting the most relevant document (group head) for each group that match the query.
`class` `AbstractAllGroupsCollector<GROUP_VALUE_TYPE>` A collector that collects all groups that match the query.
`class` `AbstractFirstPassGroupingCollector<GROUP_VALUE_TYPE>` FirstPassGroupingCollector is the first of two passes necessary to collect grouped hits.
`class` `AbstractSecondPassGroupingCollector<GROUP_VALUE_TYPE>` SecondPassGroupingCollector is the second of two passes necessary to collect grouped docs.

`class`

`BlockGroupingCollector`
BlockGroupingCollector performs grouping with a single pass collector, as long as you are grouping by a doc block field, ie all documents sharing a given group value were indexed as a doc block using the atomic `IndexWriter.addDocuments(java.util.Collection<org.apache.lucene.document.Document>)` or `IndexWriter.updateDocuments(org.apache.lucene.index.Term, java.util.Collection<org.apache.lucene.document.Document>)` API.

`class` `TermAllGroupHeadsCollector<GH extends AbstractAllGroupHeadsCollector.GroupHead>` A base implementation of `AbstractAllGroupHeadsCollector` for retrieving the most relevant groups when grouping on a string based group field.
`class` `TermAllGroupsCollector` A collector that collects all groups that match the query.
`class` `TermFirstPassGroupingCollector` Concrete implementation of `AbstractFirstPassGroupingCollector` that groups based on field values and more specifically uses `FieldCache.StringIndex` to collect groups.
`class` `TermSecondPassGroupingCollector` Concrete implementation of `AbstractSecondPassGroupingCollector` that groups based on field values and more specifically uses `FieldCache.StringIndex` to collect grouped docs.

Uses of Collector in org.apache.lucene.search.join

Subclasses of Collector in org.apache.lucene.search.join
`class` `ToParentBlockJoinCollector` Collects parent document hits for a Query containing one more more BlockJoinQuery clauses, sorted by the specified parent Sort.