An interface for iterating over a "category list", i.e., the list of categories per document.
Declares an interface for heap (and heap alike) structures, handling a given type T
Document IDs with scores for each, driving facets accumulation.
Iterator over document IDs and their scores.
Creation of drill down term or query.
Provider of arrays used for facet operations such as counting.
Handler for facet results.
Driver for Accumulating facets of faceted search requests over given documents.
Collector for facet accumulation.
An FloatArrayAllocator is an object which manages float array objects of a certain size.
An IntArrayAllocator is an object which manages counter array objects of a certain length.
A payload deserializer comes with its own working space (buffer).
A utility class for iterating through a posting list of a given term and retrieving the payload of the first occurrence in every document.
Wrap any Facets Accumulator with sampling.
Standard implementation for
An TemporaryObjectAllocator is an object which manages large, reusable, temporary objects needed during multiple concurrent computations.
Generate Top-K results for a particular FacetRequest.
Intermediate result to hold counts from one or more partitions processed thus far.
Maintain Total Facet Counts per partition, for given parameters: Index reader of an index Taxonomy index reader Facet indexing params (and particularly the category list params) The total facet counts are maintained as an array of arrays of integers, where a separate array is kept for each partition.
Manage an LRU cache for
We now describe the simpler interfaces. There are mainly 3 interfaces for faceted search:
Facets Requestdefines requirements:
Facets ExtractorControls how facets are extracted, with variations of:
Facet Results HandlerControls how results are further processed and merged (also between partitions):