Package org.apache.lucene.facet

# Class FacetCountsWithFilterQuery

java.lang.Object
org.apache.lucene.facet.Facets
org.apache.lucene.facet.FacetCountsWithFilterQuery

Direct Known Subclasses:
  `DoubleRangeFacetCounts`, `DoubleRangeOnRangeFacetCounts`, `LongRangeFacetCounts`, `LongRangeOnRangeFacetCounts`, `MatchingFacetSetsCounts`

public abstract class FacetCountsWithFilterQuery extends Facets
Base class for facet counts. It allows for a query to be passed in to filter the match set.

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final Query`
`fastMatchQuery`
Optional: if specified, we first test this Query to see whether the document should be checked for matching ranges.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`FacetCountsWithFilterQuery(Query fastMatchQuery)`
Create `FacetCounts`

## Method Summary

Modifier and Type
Method
Description
`protected DocIdSetIterator`
`createIterator(FacetsCollector.MatchingDocs hits, DocIdSetIterator... iterators)`
Create a `DocIdSetIterator` from the provided `hits` that relies on `fastMatchQuery` if available for first-pass filtering.

### Methods inherited from class org.apache.lucene.facet.Facets

`getAllChildren, getAllDims, getSpecificValue, getTopChildren, getTopDims, validateTopN`

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

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

## Field Details

### fastMatchQuery

protected final Query fastMatchQuery
Optional: if specified, we first test this Query to see whether the document should be checked for matching ranges. If this is null, all documents are checked.

## Constructor Details

### FacetCountsWithFilterQuery

protected FacetCountsWithFilterQuery(Query fastMatchQuery)
Create `FacetCounts`

## Method Details

### createIterator

protected DocIdSetIterator createIterator(FacetsCollector.MatchingDocs hits, DocIdSetIterator... iterators) throws IOException
Create a `DocIdSetIterator` from the provided `hits` that relies on `fastMatchQuery` if available for first-pass filtering. If `iterators` is not empty then all iterators are intersected. If any of the iterators is null, it indicates no documents will be matched by it, and therefore no documents will be matched overall. A null response indicates no documents will match.

Throws:
  `IOException`