Lucene 3.6.1 contrib-facet API

Provides faceted indexing and search capabilities (checkout the userguide).

See: Description

Package Description
Provides faceted indexing and search capabilities.
Enhanced category features Mechanisms for addition of enhanced category features.
Association category enhancements A CategoryEnhancement for adding associations data to the index (categories with AssociationProperty's).
Enhanced category features FacetIndexingParams used by EnhancementsDocumentBuilder for adding CategoryEnhancement's to the indexing parameters, and accessing them during indexing and search.
Indexing of document categories Attachment of CategoryPath's or CategoryAttribute's to a given document using a Taxonomy.
Category attributes and their properties for indexing Attributes for a category, possibly containing category property's.
Policies for indexing categories There are two kinds of policies: Path policies are based on the path of the category.
Indexing-time specifications for handling facets Parameters on how facets are to be written to the index, such as which fields and terms are used to refer to the facets posting list.
Expert: attributes streaming definition for indexing facets Steaming of facets attributes is a low level indexing interface with Lucene indexing.
Faceted Search API API for faceted search has several interfaces - simple, top level ones, adequate for most users, and advanced, more complicated ones, for the more advanced users.
Aggregating Facets during Faceted Search A facets aggregator is the parallel of Lucene's Collector.
Association-based aggregators.
Caching to speed up facets accumulation.
Parameters for Faceted Search
Association-based Parameters for Faceted Search.
Results of Faceted Search
Sampling for facets accumulation
Taxonomy of Categories Facets are defined using a hierarchy of categories, known as a Taxonomy
For example, in a book store application, a Taxonomy could have the following hierarchy: Author Mark Twain J.
Taxonomy implemented using a Lucene-Index
Improves indexing time by caching a map of CategoryPath to their Ordinal
Category->Ordinal caching implementation using an optimized data-structures The internal map data structure consumes less memory (~30%) and is faster (~50%) compared to a Java HashMap<String, Integer>.
An LRU cache implementation for the CategoryPath to Ordinal map
Various utilities for faceted search
Various optimized Collections implementations.
Offers various encoders and decoders for integers, as well as the mechanisms to create new ones.