org.apache.lucene.facet.taxonomy

## Class TaxonomyFacetLabels.FacetLabelReader

- java.lang.Object
- - org.apache.lucene.facet.taxonomy.TaxonomyFacetLabels.FacetLabelReader

- Enclosing class:
    TaxonomyFacetLabels

      public class TaxonomyFacetLabels.FacetLabelReader
      extends Object

  Utility class to retrieve facet labels for multiple documents.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FacetLabelReader(OrdinalsReader ordsReader, LeafReaderContext readerContext)` Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FacetLabel` | `nextFacetLabel(int docId)` Retrieves the next `FacetLabel` for the specified `docId`, or `null` if there are no more.
    `FacetLabel` | `nextFacetLabel(int docId, String facetDimension)` Retrieves the next `FacetLabel` for the specified `docId` under the requested `facetDimension`, or `null` if there are no more.

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

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

- - ### Constructor Detail

    - #### FacetLabelReader

          public FacetLabelReader(OrdinalsReader ordsReader,
                                  LeafReaderContext readerContext)
                           throws IOException

      Sole constructor.
      Throws:
        `IOException`

  - ### Method Detail

    - #### nextFacetLabel

          public FacetLabel nextFacetLabel(int docId)
                                    throws IOException

      Retrieves the next `FacetLabel` for the specified `docId`, or `null` if there are no more. This method has state: if the provided `docId` is the same as the previous invocation, it returns the next `FacetLabel` for that document. Otherwise, it advances to the new `docId` and provides the first `FacetLabel` for that document, or `null` if that document has no indexed facets. Each new `docId` must be in strictly monotonic (increasing) order.

      NOTE: The returned FacetLabels may not be in the same order in which they were indexed

      Parameters:
        `docId` - input docId provided in monotonic (non-decreasing) order
      Returns:
        the first or next `FacetLabel`, or `null` if there are no more
      Throws:
        `IOException` - when a low-level IO issue occurs
        `IllegalArgumentException` - if docId provided is less than docId supplied in an earlier invocation

    - #### nextFacetLabel

          public FacetLabel nextFacetLabel(int docId,
                                           String facetDimension)
                                    throws IOException

      Retrieves the next `FacetLabel` for the specified `docId` under the requested `facetDimension`, or `null` if there are no more. This method has state: if the provided `docId` is the same as the previous invocation, it returns the next `FacetLabel` for that document. Otherwise, it advances to the new `docId` and provides the first `FacetLabel` for that document, or `null` if that document has no indexed facets. Each new `docId` must be in strictly monotonic (increasing) order.

      NOTE: This method loads the `int[] parents` array from the taxonomy index. The returned FacetLabels may not be in the same order in which they were indexed.

      Parameters:
        `docId` - input docId provided in non-decreasing order
      Returns:
        the first or next `FacetLabel`, or `null` if there are no more
      Throws:
        `IOException` - if `TaxonomyReader` has problems getting path for an ordinal
        `IllegalArgumentException` - if docId provided is less than docId supplied in an earlier invocation
        `IllegalArgumentException` - if facetDimension is null

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.