Package org.apache.lucene.facet

# Class FacetsCollector

java.lang.Object
org.apache.lucene.search.SimpleCollector
org.apache.lucene.facet.FacetsCollector

All Implemented Interfaces:
  `Collector`, `LeafCollector`

Direct Known Subclasses:
  `RandomSamplingFacetsCollector`

public class FacetsCollector extends SimpleCollector
Collects hits for subsequent faceting. Once you've run a search and collect hits into this, instantiate one of the `Facets` subclasses to do the facet counting. Use the `search` utility methods to perform an "ordinary" search but also collect into a `Collector`.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static final record`
`FacetsCollector.MatchingDocs`
Holds the documents that were matched in the `LeafReaderContext`.

## Constructor Summary

Constructors
Constructor
Description
`FacetsCollector()`
Default constructor
`FacetsCollector(boolean keepScores)`
Create this; if `keepScores` is true then a float[] is allocated to hold score of all hits.

## Method Summary

Modifier and Type
Method
Description
`void`
`collect(int doc)`
`protected void`
`doSetNextReader(LeafReaderContext context)`
`void`
`finish()`
`final boolean`
`getKeepScores()`
True if scores were saved.
`List<FacetsCollector.MatchingDocs>`
`getMatchingDocs()`
Returns the documents matched by the query, one `FacetsCollector.MatchingDocs` per visited segment.
`ScoreMode`
`scoreMode()`
`final void`
`setScorer(Scorable scorer)`

### Methods inherited from class org.apache.lucene.search.SimpleCollector

`getLeafCollector`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.lucene.search.Collector

`setWeight`

### Methods inherited from interface org.apache.lucene.search.LeafCollector

`collect, competitiveIterator`

## Constructor Details

### FacetsCollector

public FacetsCollector()
Default constructor

### FacetsCollector

public FacetsCollector(boolean keepScores)
Create this; if `keepScores` is true then a float[] is allocated to hold score of all hits.

## Method Details

### getKeepScores

public final boolean getKeepScores()
True if scores were saved.

### getMatchingDocs

public List<FacetsCollector.MatchingDocs> getMatchingDocs()
Returns the documents matched by the query, one `FacetsCollector.MatchingDocs` per visited segment.

### collect

public void collect(int doc) throws IOException

Specified by:
  `collect` in interface `LeafCollector`
Specified by:
  `collect` in class `SimpleCollector`
Throws:
  `IOException`

### scoreMode

public ScoreMode scoreMode()

### setScorer

public final void setScorer(Scorable scorer) throws IOException

Specified by:
  `setScorer` in interface `LeafCollector`
Overrides:
  `setScorer` in class `SimpleCollector`
Throws:
  `IOException`

### doSetNextReader

protected void doSetNextReader(LeafReaderContext context) throws IOException

Overrides:
  `doSetNextReader` in class `SimpleCollector`
Throws:
  `IOException`

### finish

public void finish() throws IOException

Throws:
  `IOException`