Package org.apache.lucene.facet.sortedset

## Class SortedSetDocValuesReaderState

- java.lang.Object
- - org.apache.lucene.facet.sortedset.SortedSetDocValuesReaderState

- All Implemented Interfaces:
    `Accountable`
  Direct Known Subclasses:
    `DefaultSortedSetDocValuesReaderState`

      public abstract class SortedSetDocValuesReaderState
      extends Object
      implements Accountable

  Wraps a `IndexReader` and resolves ords using existing `SortedSetDocValues` APIs without a separate taxonomy index. This makes faceting a bit slower, adds some cost at reopen time, but avoids managing the separate taxonomy index. 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`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `SortedSetDocValuesReaderState.DimTree` | Holds children and sibling information for a single dimension.
    `static class` | `SortedSetDocValuesReaderState.OrdRange` | Holds start/end range of ords, which maps to one dimension.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `INVALID_ORDINAL` | Invalid ordinal const

    - ### Fields inherited from interface org.apache.lucene.util.Accountable

      `NULL_ACCOUNTABLE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `SortedSetDocValuesReaderState()` | Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Iterable<String>` | `getDims()` | Returns a list of all dimensions
    `abstract SortedSetDocValuesReaderState.DimTree` | `getDimTree​(String dim)` | Returns mapping from prefix to `SortedSetDocValuesReaderState.DimTree`
    `abstract SortedSetDocValues` | `getDocValues()` | Return top-level doc values.
    `abstract FacetsConfig` | `getFacetsConfig()` | Returns the associated facet config.
    `abstract String` | `getField()` | Indexed field we are reading.
    `abstract SortedSetDocValuesReaderState.OrdRange` | `getOrdRange​(String dim)` | Returns the `SortedSetDocValuesReaderState.OrdRange` for this dimension.
    `abstract Map<String,​SortedSetDocValuesReaderState.OrdRange>` | `getPrefixToOrdRange()` | Returns mapping from prefix to `SortedSetDocValuesReaderState.OrdRange`.
    `abstract IndexReader` | `getReader()` | Returns top-level index reader.
    `abstract int` | `getSize()` | Number of unique labels.

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

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

    - ### Methods inherited from interface org.apache.lucene.util.Accountable

      `getChildResources, ramBytesUsed`

- - ### Field Detail

    - #### INVALID_ORDINAL

          public static final int INVALID_ORDINAL

      Invalid ordinal const
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SortedSetDocValuesReaderState

          protected SortedSetDocValuesReaderState()

      Sole constructor.

  - ### Method Detail

    - #### getDocValues

          public abstract SortedSetDocValues getDocValues()
                                                   throws IOException

      Return top-level doc values.
      Throws:
        `IOException`

    - #### getField

          public abstract String getField()

      Indexed field we are reading.

    - #### getReader

          public abstract IndexReader getReader()

      Returns top-level index reader.

    - #### getSize

          public abstract int getSize()

      Number of unique labels.

    - #### getFacetsConfig

          public abstract FacetsConfig getFacetsConfig()

      Returns the associated facet config.

    - #### getOrdRange

          public abstract SortedSetDocValuesReaderState.OrdRange getOrdRange​(String dim)

      Returns the `SortedSetDocValuesReaderState.OrdRange` for this dimension.

    - #### getPrefixToOrdRange

          public abstract Map<String,​SortedSetDocValuesReaderState.OrdRange> getPrefixToOrdRange()

      Returns mapping from prefix to `SortedSetDocValuesReaderState.OrdRange`.

    - #### getDimTree

          public abstract SortedSetDocValuesReaderState.DimTree getDimTree​(String dim)

      Returns mapping from prefix to `SortedSetDocValuesReaderState.DimTree`

    - #### getDims

          public abstract Iterable<String> getDims()

      Returns a list of all dimensions