Class CachedOrdinalsReader

java.lang.Object
org.apache.lucene.facet.taxonomy.OrdinalsReader
org.apache.lucene.facet.taxonomy.CachedOrdinalsReader
All Implemented Interfaces:
Accountable

@Deprecated public class CachedOrdinalsReader extends OrdinalsReader implements Accountable
Deprecated.
Custom binary encodings for taxonomy ordinals are no longer supported starting with Lucene 9
A per-segment cache of documents' facet ordinals. Every CachedOrdinalsReader.CachedOrds holds the ordinals in a raw int[], and therefore consumes as much RAM as the total number of ordinals found in the segment, but saves the CPU cost of decoding ordinals during facet counting.

NOTE: every CachedOrdinalsReader.CachedOrds is limited to 2.1B total ordinals. If that is a limitation for you then consider limiting the segment size to fewer documents, or use an alternative cache which pages through the category ordinals.

NOTE: when using this cache, it is advised to use a DocValuesFormat that does not cache the data in memory, at least for the category lists fields, or otherwise you'll be doing double-caching.

NOTE: create one instance of this and re-use it for all facet implementations (the cache is per-instance, not static).