## Uses of Class
org.apache.lucene.facet.Facets

Packages that use Facets
org.apache.lucene.facet: Faceted search.
org.apache.lucene.facet.range: Provides range faceting capabilities.
org.apache.lucene.facet.sortedset: Provides faceting capabilities over facets that were indexed with `SortedSetDocValuesFacetField`.
org.apache.lucene.facet.taxonomy: Taxonomy of Categories.

### Uses of Facets in org.apache.lucene.facet

Subclasses of Facets in org.apache.lucene.facet
`class` `LongValueFacetCounts` `Facets` implementation that computes counts for all unique long values, more efficiently counting small values (0-1023) using an int array, and switching to a `HashMap` for values above 1023.
`class` `MultiFacets` Maps specified dims to provided Facets impls; else, uses the default Facets impl.

Fields in org.apache.lucene.facet declared as Facets
`Facets` DrillSideways.DrillSidewaysResult.`facets` Combined drill down and sideways results.

Methods in org.apache.lucene.facet that return Facets
`protected Facets` DrillSideways.`buildFacetsResult(FacetsCollector drillDowns, FacetsCollector[] drillSideways, String[] drillSidewaysDims)` Subclass can override to customize per-dim Facets impl.

Constructors in org.apache.lucene.facet with parameters of type Facets
Constructor and Description
`DrillSidewaysResult(Facets facets, TopDocs hits)` Sole constructor.
`MultiFacets(Map<String,Facets> dimToFacets, Facets defaultFacets)` Create this, with the specified default `Facets` for fields not included in `dimToFacets`.

Constructor parameters in org.apache.lucene.facet with type arguments of type Facets
Constructor and Description
`MultiFacets(Map<String,Facets> dimToFacets)` Create this, with no default `Facets`.
`MultiFacets(Map<String,Facets> dimToFacets, Facets defaultFacets)` Create this, with the specified default `Facets` for fields not included in `dimToFacets`.

### Uses of Facets in org.apache.lucene.facet.range

Subclasses of Facets in org.apache.lucene.facet.range
`class` `DoubleRangeFacetCounts` `Facets` implementation that computes counts for dynamic double ranges from a provided `DoubleValuesSource`.
`class` `LongRangeFacetCounts` `Facets` implementation that computes counts for dynamic long ranges from a provided `LongValuesSource`.

### Uses of Facets in org.apache.lucene.facet.sortedset

Subclasses of Facets in org.apache.lucene.facet.sortedset
`class` `ConcurrentSortedSetDocValuesFacetCounts` Like `SortedSetDocValuesFacetCounts`, but aggregates counts concurrently across segments.
`class` `SortedSetDocValuesFacetCounts` Compute facets counts from previously indexed `SortedSetDocValuesFacetField`, without require a separate taxonomy index.

### Uses of Facets in org.apache.lucene.facet.taxonomy

Subclasses of Facets in org.apache.lucene.facet.taxonomy
`class` `FastTaxonomyFacetCounts` Computes facets counts, assuming the default encoding into DocValues was used.
`class` `FloatTaxonomyFacets` Base class for all taxonomy-based facets that aggregate to a per-ords float[].
`class` `IntTaxonomyFacets` Base class for all taxonomy-based facets that aggregate to a per-ords int[].
`class` `TaxonomyFacetCounts` Reads from any `OrdinalsReader`; use `FastTaxonomyFacetCounts` if you are using the default encoding from `BinaryDocValues`.
`class` `TaxonomyFacets` Base class for all taxonomy-based facets impls.
`class` `TaxonomyFacetSumFloatAssociations` Aggregates sum of int values previously indexed with `FloatAssociationFacetField`, assuming the default encoding.
`class` `TaxonomyFacetSumIntAssociations` Aggregates sum of int values previously indexed with `IntAssociationFacetField`, assuming the default encoding.
`class` `TaxonomyFacetSumValueSource` Aggregates sum of values from `DoubleValues.doubleValue()`, for each facet label.