Package org.apache.lucene.facet.taxonomy

## Class TaxonomyFacets

- java.lang.Object
- - org.apache.lucene.facet.Facets
  - - org.apache.lucene.facet.taxonomy.TaxonomyFacets

- Direct Known Subclasses:
    `FastTaxonomyFacetCounts`, `FloatTaxonomyFacets`, `IntTaxonomyFacets`

      @Deprecated
      public abstract class TaxonomyFacets
      extends Facets

  Deprecated.
  Visibility of this class will be reduced to pkg-private in a future version. This class is meant to host common code as an internal implementation detail to taxonomy faceting,and is not intended as an extension point for user-created `Facets` implementations. If your code is relying on this, please migrate necessary functionality down into your own class.
  Base class for all taxonomy-based facets impls.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `TaxonomyFacets.AggregatedValue` | Deprecated. An accumulator for an aggregated value.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected FacetsConfig` | `config` | Deprecated. `FacetsConfig` provided to the constructor.
    `protected String` | `indexFieldName` | Deprecated. Index field name provided to the constructor.
    `protected TaxonomyReader` | `taxoReader` | Deprecated. `TaxonomyReader` provided to the constructor.
    `protected Comparator<Number>` | `valueComparator` | Deprecated. Defines comparison between aggregated values.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `TaxonomyFacets​(String indexFieldName, TaxonomyReader taxoReader, FacetsConfig config)` | Deprecated. To be removed in Lucene 10.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Number` | `aggregate​(Number existingVal, Number newVal)` | Deprecated. Apply an aggregation to the two values and return the result.
    `boolean` | `childrenLoaded()` | Deprecated. Returns true if the (costly, and lazily initialized) children int[] was initialized.
    `protected Number` | `getAggregationValue​(int ordinal)` | Deprecated. Get the aggregation value for this ordinal.
    `FacetResult` | `getAllChildren​(String dim, String... path)` | Deprecated. Returns all child labels with non-zero counts under the specified path.
    `List<FacetResult>` | `getAllDims​(int topN)` | Deprecated. Returns topN labels for any dimension that had hits, sorted by the number of hits that dimension matched; this is used for "sparse" faceting, where many different dimensions were indexed, for example depending on the type of document.
    `protected int` | `getCount​(int ordinal)` | Deprecated. Get the count for this ordinal.
    `Number` | `getSpecificValue​(String dim, String... path)` | Deprecated. Return the count or value for a specific path.
    `FacetResult` | `getTopChildren​(int topN, String dim, String... path)` | Deprecated. Returns the topN child labels under the specified path.
    `protected org.apache.lucene.facet.taxonomy.TaxonomyFacets.TopChildrenForPath` | `getTopChildrenForPath​(FacetsConfig.DimConfig dimConfig, int pathOrd, int topN)` | Deprecated. Determine the top-n children for a specified dimension + path.
    `List<FacetResult>` | `getTopDims​(int topNDims, int topNChildren)` | Deprecated. Returns labels for topN dimensions and their topNChildren sorted by the number of hits/aggregated values that dimension matched.
    `protected void` | `initializeValueCounters()` | Deprecated. If not done already, initialize the data structures storing counts.
    `protected TopOrdAndNumberQueue.OrdAndValue` | `insertIntoQueue​(TopOrdAndNumberQueue q, TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue, int ord)` | Deprecated. Insert an ordinal and the value corresponding to it into the queue.
    `protected TopOrdAndNumberQueue` | `makeTopOrdAndNumberQueue​(int topN)` | Deprecated. Return a `TopOrdAndNumberQueue` of the appropriate type, i.e.
    `protected Number` | `missingAggregationValue()` | Deprecated. Return the value for a missing aggregation, i.e.
    `protected TaxonomyFacets.AggregatedValue` | `newAggregatedValue()` | Deprecated. Initialize an accumulator.
    `protected void` | `rollup()` | Deprecated. Rolls up any single-valued hierarchical dimensions.
    `protected void` | `setCount​(int ordinal, int newValue)` | Deprecated. Set the count for this ordinal to `newValue`.
    `protected void` | `setIncomingValue​(TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue, int ord)` | Deprecated. Set the value for a `TopOrdAndNumberQueue.OrdAndValue` to the one corresponding to the given ordinal.
    `boolean` | `siblingsLoaded()` | Deprecated. Returns true if the (costly, and lazily initialized) sibling int[] was initialized.
    `protected void` | `updateValueFromRollup​(int ordinal, int childOrdinal)` | Deprecated. Roll-up the aggregation values from `childOrdinal` to `ordinal`.
    `protected boolean` | `useHashTable​(FacetsCollector fc, TaxonomyReader taxoReader)` | Deprecated. Return true if a sparse hash table should be used for counting, instead of a dense int[].
    `protected FacetsConfig.DimConfig` | `verifyDim​(String dim)` | Deprecated. Verifies and returns `FacetsConfig.DimConfig` for the given dimension name.

    - ### Methods inherited from class org.apache.lucene.facet.Facets

      `validateTopN`

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

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

- - ### Field Detail

    - #### indexFieldName

          protected final String indexFieldName

      Deprecated.
      Index field name provided to the constructor.

    - #### taxoReader

          protected final TaxonomyReader taxoReader

      Deprecated.
      `TaxonomyReader` provided to the constructor.

    - #### config

          protected final FacetsConfig config

      Deprecated.
      `FacetsConfig` provided to the constructor.

    - #### valueComparator

          protected Comparator<Number> valueComparator

      Deprecated.
      Defines comparison between aggregated values.

  - ### Constructor Detail

    - #### TaxonomyFacets

          @Deprecated
          protected TaxonomyFacets​(String indexFieldName,
                                   TaxonomyReader taxoReader,
                                   FacetsConfig config)
                            throws IOException

      Deprecated.
      To be removed in Lucene 10.
      Constructor without a `FacetsCollector` - we don't have access to the hits, so we have to assume there are hits when initializing internal data structures.
      Throws:
        `IOException`

  - ### Method Detail

    - #### useHashTable

          protected boolean useHashTable​(FacetsCollector fc,
                                         TaxonomyReader taxoReader)

      Deprecated.
      Return true if a sparse hash table should be used for counting, instead of a dense int[].

    - #### initializeValueCounters

          protected void initializeValueCounters()

      Deprecated.
      If not done already, initialize the data structures storing counts.

    - #### setCount

          protected void setCount​(int ordinal,
                                  int newValue)

      Deprecated.
      Set the count for this ordinal to `newValue`.

    - #### getCount

          protected int getCount​(int ordinal)

      Deprecated.
      Get the count for this ordinal.

    - #### getAggregationValue

          protected Number getAggregationValue​(int ordinal)

      Deprecated.
      Get the aggregation value for this ordinal.

    - #### aggregate

          protected Number aggregate​(Number existingVal,
                                     Number newVal)

      Deprecated.
      Apply an aggregation to the two values and return the result.

    - #### childrenLoaded

          public boolean childrenLoaded()

      Deprecated.
      Returns true if the (costly, and lazily initialized) children int[] was initialized.
      WARNING: This API is experimental and might change in incompatible ways in the next release.

    - #### siblingsLoaded

          public boolean siblingsLoaded()

      Deprecated.
      Returns true if the (costly, and lazily initialized) sibling int[] was initialized.
      WARNING: This API is experimental and might change in incompatible ways in the next release.

    - #### verifyDim

          protected FacetsConfig.DimConfig verifyDim​(String dim)

      Deprecated.
      Verifies and returns `FacetsConfig.DimConfig` for the given dimension name.
      Returns:
        `FacetsConfig.DimConfig` for the given dim, or `FacetsConfig.DEFAULT_DIM_CONFIG` if it was never manually configured.
      Throws:
        `IllegalArgumentException` - if the provided dimension was manually configured, but its `FacetsConfig.DimConfig.indexFieldName` does not match `indexFieldName`.

    - #### updateValueFromRollup

          protected void updateValueFromRollup​(int ordinal,
                                               int childOrdinal)
                                        throws IOException

      Deprecated.
      Roll-up the aggregation values from `childOrdinal` to `ordinal`. Overrides should probably call this to update the counts. Overriding allows us to work with primitive types for the aggregation values, keeping aggregation efficient.
      Throws:
        `IOException`

    - #### makeTopOrdAndNumberQueue

          protected TopOrdAndNumberQueue makeTopOrdAndNumberQueue​(int topN)

      Deprecated.
      Return a `TopOrdAndNumberQueue` of the appropriate type, i.e. a `TopOrdAndIntNumberQueue` or a `TopOrdAndFloatNumberQueue`.

    - #### missingAggregationValue

          protected Number missingAggregationValue()

      Deprecated.
      Return the value for a missing aggregation, i.e. `-1` or `-1f`.

    - #### rollup

          protected void rollup()
                         throws IOException

      Deprecated.
      Rolls up any single-valued hierarchical dimensions.
      Throws:
        `IOException`

    - #### getAllChildren

          public FacetResult getAllChildren​(String dim,
                                            String... path)
                                     throws IOException

      Deprecated.
      Description copied from class: `Facets`
      Returns all child labels with non-zero counts under the specified path. Users should make no assumptions about ordering of the children. Returns null if the specified path doesn't exist or if this dimension was never seen.
      Specified by:
        `getAllChildren` in class `Facets`
      Throws:
        `IOException`

    - #### setIncomingValue

          protected void setIncomingValue​(TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue,
                                          int ord)

      Deprecated.
      Set the value for a `TopOrdAndNumberQueue.OrdAndValue` to the one corresponding to the given ordinal.

    - #### insertIntoQueue

          protected TopOrdAndNumberQueue.OrdAndValue insertIntoQueue​(TopOrdAndNumberQueue q,
                                                                     TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue,
                                                                     int ord)

      Deprecated.
      Insert an ordinal and the value corresponding to it into the queue.

    - #### newAggregatedValue

          protected TaxonomyFacets.AggregatedValue newAggregatedValue()

      Deprecated.
      Initialize an accumulator.

    - #### getTopChildrenForPath

          protected org.apache.lucene.facet.taxonomy.TaxonomyFacets.TopChildrenForPath getTopChildrenForPath​(FacetsConfig.DimConfig dimConfig,
                                                                                                             int pathOrd,
                                                                                                             int topN)
                                                                                                      throws IOException

      Deprecated.
      Determine the top-n children for a specified dimension + path. Results are in an intermediate form.
      Throws:
        `IOException`

    - #### getTopChildren

          public FacetResult getTopChildren​(int topN,
                                            String dim,
                                            String... path)
                                     throws IOException

      Deprecated.
      Description copied from class: `Facets`
      Returns the topN child labels under the specified path. Returns null if the specified path doesn't exist or if this dimension was never seen.
      Specified by:
        `getTopChildren` in class `Facets`
      Throws:
        `IOException`

    - #### getSpecificValue

          public Number getSpecificValue​(String dim,
                                         String... path)
                                  throws IOException

      Deprecated.
      Description copied from class: `Facets`
      Return the count or value for a specific path. Returns -1 if this path doesn't exist, else the count.
      Specified by:
        `getSpecificValue` in class `Facets`
      Throws:
        `IOException`

    - #### getAllDims

          public List<FacetResult> getAllDims​(int topN)
                                       throws IOException

      Deprecated.
      Description copied from class: `Facets`
      Returns topN labels for any dimension that had hits, sorted by the number of hits that dimension matched; this is used for "sparse" faceting, where many different dimensions were indexed, for example depending on the type of document.
      Specified by:
        `getAllDims` in class `Facets`
      Throws:
        `IOException`

    - #### getTopDims

          public List<FacetResult> getTopDims​(int topNDims,
                                              int topNChildren)
                                       throws IOException

      Deprecated.
      Description copied from class: `Facets`
      Returns labels for topN dimensions and their topNChildren sorted by the number of hits/aggregated values that dimension matched. Results should be the same as calling getAllDims and then only using the first topNDims. Note that dims should be configured as requiring dim counts if using this functionality to ensure accurate counts are available (see: `FacetsConfig.setRequireDimCount(String, boolean)`).

      Sub-classes may want to override this implementation with a more efficient one if they are able.

      Overrides:
        `getTopDims` in class `Facets`
      Throws:
        `IOException`