Package 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
Description
`FacetLabelReader(SortedNumericDocValues ordinalValues)`
Construct from a specified `SortedNumericDocValues` field.

## Method Summary

Modifier and Type
Method
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 Details

### FacetLabelReader

public FacetLabelReader(SortedNumericDocValues ordinalValues)
Construct from a specified `SortedNumericDocValues` field.

## Method Details

### 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