Namespace Lucene.Net.Facet.SortedSet
Classes
DefaultSortedSetDocValuesReaderState
Default implementation of SortedSetDocValuesFacetCounts
SortedSetDocValuesFacetCounts
Compute facets counts from previously indexed SortedSetDocValuesFacetField, without require a separate taxonomy index. Faceting is a bit slower (~25%), and there is added cost on every IndexReader open to create a new SortedSetDocValuesReaderState. Furthermore, this does not support hierarchical facets; only flat (dimension + label) facets, but it uses quite a bit less RAM to do so.
NOTE: this class should be instantiated and then used from a single thread, because it holds a thread-private instance of SortedSetDocValues.
NOTE:: tie-break is by unicode sort order @lucene.experimental
SortedSetDocValuesFacetField
Add an instance of this to your Document for every facet label to be indexed via SortedSetDocValues.
SortedSetDocValuesReaderState
Wraps a IndexReader and resolves ords using existing SortedSetDocValues APIs without a separate taxonomy index. This only supports flat facets (dimension + label), and it makes faceting a bit slower, adds some cost at reopen time, but avoids managing the separate taxonomy index. It also requires less RAM than the taxonomy index, as it manages the flat (2-level) hierarchy more efficiently. In addition, the tie-break during faceting is now meaningful (in label sorted order).
NOTE: creating an instance of this class is somewhat costly, as it computes per-segment ordinal maps, so you should create it once and re-use that one instance for a given IndexReader.
SortedSetDocValuesReaderState.OrdRange
Holds start/end range of ords, which maps to one dimension (someday we may generalize it to map to hierarchies within one dimension).