# Package org.apache.lucene.facet.search

Facets search code.

See: Description

Interface Summary
Interface | Description
--- | ---
Aggregator | Aggregates the categories of documents given to `Aggregator.aggregate(int, float, IntsRef)`.
CategoryListIterator | An interface for obtaining the category ordinals of documents.
FacetsAggregator | Aggregates categories that were found in result documents (specified by `FacetsCollector.MatchingDocs`).
Heap<T> | Declares an interface for heap (and heap alike) structures, handling a given type T
ScoredDocIDs | Document IDs with scores for each, driving facets accumulation.
ScoredDocIDsIterator | Iterator over document IDs and their scores.

Class Summary
Class | Description
--- | ---
AdaptiveFacetsAccumulator | `FacetsAccumulator` whose behavior regarding complements, sampling, etc.
ArraysPool | A thread-safe pool of `int[]` and `float[]` arrays.
CachedOrdsCountingFacetsAggregator | A `FacetsAggregator` which updates categories values by counting their occurrences in matching documents.
CountFacetRequest | Facet request for counting facets.
CountingAggregator | A CountingAggregator updates a counter array with the size of the whole taxonomy, counting the number of times each category appears in the given set of documents.
CountingFacetsAggregator | A `FacetsAggregator` which counts the number of times each category appears in the given set of documents.
DepthOneFacetResultsHandler | A `FacetResultsHandler` which counts the top-K facets at depth 1 only and always labels all result categories.
DocValuesCategoryListIterator | A `CategoryListIterator` which reads the ordinals from a `BinaryDocValues`.
DrillDownQuery | A `Query` for drill-down over `categories`.
DrillSideways | Computes drill down and sideways counts for the provided `DrillDownQuery`.
DrillSideways.DrillSidewaysResult | Represents the returned result from a drill sideways search.
FacetArrays | Provider of arrays used for facets aggregation.
FacetRequest | Request to accumulate facet information for a specified facet and possibly also some of its descendants, upto a specified depth.
FacetResult | Result of faceted search.
FacetResultNode | Result of faceted search for a certain taxonomy node.
FacetResultsHandler | Computes the top categories for a given `FacetRequest`.
FacetsAccumulator | Driver for Accumulating facets of faceted search requests over given documents.
FacetsCollector | A `Collector` which executes faceted search and computes the weight of requested facets.
FacetsCollector.MatchingDocs | Holds the documents that were matched in the `AtomicReaderContext`.
FastCountingFacetsAggregator | A `FacetsAggregator` which counts the number of times each category appears in the given set of documents.
FloatFacetResultsHandler | A `DepthOneFacetResultsHandler` which fills the categories values from `FacetArrays.getFloatArray()`.
IntFacetResultsHandler | A `DepthOneFacetResultsHandler` which fills the categories values from `FacetArrays.getIntArray()`.
IntRollupFacetsAggregator | A `FacetsAggregator` which implements `IntRollupFacetsAggregator.rollupValues(FacetRequest, int, int[], int[], FacetArrays)` by summing the values from `FacetArrays.getIntArray()`.
MatchingDocsAsScoredDocIDs | Represents `FacetsCollector.MatchingDocs` as `ScoredDocIDs`.
OrdinalsCache | A per-segment cache of documents' category ordinals.
OrdinalsCache.CachedOrds | Holds the cached ordinals in two paralel `int[]` arrays.
PerCategoryListAggregator | A `FacetsAggregator` which invokes the proper aggregator per `CategoryListParams`.
ReusingFacetArrays | A `FacetArrays` which uses the `ArraysPool` to allocate new arrays and pool them on `FacetArrays.free()`.
ScoringAggregator | An `Aggregator` which updates the weight of a category according to the scores of the documents it was found in.
StandardFacetsAccumulator | Standard implementation for `FacetsAccumulator`, utilizing partitions to save on memory.
SumScoreFacetRequest | A `FacetRequest` for weighting facets by summing the scores of matching documents.
SumScoreFacetsAggregator | A `FacetsAggregator` which updates the weight of a category by summing the scores of documents it was found in.
TopKFacetResultsHandler | Generate Top-K results for a particular `FacetRequest`.
TopKInEachNodeHandler | Generates `FacetResult` from the `FacetArrays` aggregated for a particular `FacetRequest`.
TopKInEachNodeHandler.AACO | Maintains an array of `AggregatedCategory`.
TopKInEachNodeHandler.IntermediateFacetResultWithHash | Intermediate result to hold counts from one or more partitions processed thus far.

Enum Summary
Enum | Description
--- | ---
FacetRequest.FacetArraysSource | Specifies which array of `FacetArrays` should be used to resolve values.
FacetRequest.ResultMode | Result structure manner of applying request's limits such as `FacetRequest.getNumLabel()` and `FacetRequest.numResults`.
FacetRequest.SortOrder | Requested sort order for the results.

## Package org.apache.lucene.facet.search Description

Facets search code.