org.apache.lucene.facet.search

## Class OrdinalsCache

- java.lang.Object
- - org.apache.lucene.facet.search.OrdinalsCache

    public class OrdinalsCache
    extends Object

A per-segment cache of documents' category ordinals. Every `OrdinalsCache.CachedOrds` holds the ordinals in a raw `int[]`, and therefore consumes as much RAM as the total number of ordinals found in the segment.

NOTE: every `OrdinalsCache.CachedOrds` is limited to 2.1B total ordinals. If that is a limitation for you then consider limiting the segment size to less 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.

### Nested Class Summary

Nested Classes
`static class` `OrdinalsCache.CachedOrds` Holds the cached ordinals in two paralel `int[]` arrays.

### Constructor Summary

Constructors
Constructor and Description
`OrdinalsCache()`

### Method Summary

Methods
`static OrdinalsCache.CachedOrds` `getCachedOrds(AtomicReaderContext context, CategoryListParams clp)` Returns the `OrdinalsCache.CachedOrds` relevant to the given `AtomicReaderContext`, or `null` if there is no `BinaryDocValues` in this reader for the requested `CategoryListParams.field`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### OrdinalsCache

    public OrdinalsCache()

### Method Detail

#### getCachedOrds

    public static OrdinalsCache.CachedOrds getCachedOrds(AtomicReaderContext context,
                                         CategoryListParams clp)
                                                  throws IOException

Returns the `OrdinalsCache.CachedOrds` relevant to the given `AtomicReaderContext`, or `null` if there is no `BinaryDocValues` in this reader for the requested `CategoryListParams.field`.

Throws:
  `IOException`