org.apache.lucene.facet.taxonomy

## Class TaxonomyFacets

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

Direct Known Subclasses:
  FloatTaxonomyFacets, IntTaxonomyFacets

    public abstract class TaxonomyFacets
    extends Facets

Base class for all taxonomy-based facets impls.

### Field Summary

Fields
`protected FacetsConfig` `config` `FacetsConfig` provided to the constructor.
`protected String` `indexFieldName` Index field name provided to the constructor.
`protected int[]` `parents` Maps an ordinal to its parent, or -1 if there is no parent (root node).
`protected TaxonomyReader` `taxoReader` `TaxonomyReader` provided to the constructor.

### Constructor Summary

Constructors
`protected` `TaxonomyFacets(String indexFieldName, TaxonomyReader taxoReader, FacetsConfig config)` Sole constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `childrenLoaded()` Returns true if the (costly, and lazily initialized) children int[] was initialized.
`List<FacetResult>` `getAllDims(int topN)` 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[]` `getChildren()` Returns int[] mapping each ordinal to its first child; this is a large array and is computed (and then saved) the first time this method is invoked.
`protected int[]` `getSiblings()` Returns int[] mapping each ordinal to its next sibling; this is a large array and is computed (and then saved) the first time this method is invoked.
`boolean` `siblingsLoaded()` Returns true if the (costly, and lazily initialized) sibling int[] was initialized.
`protected FacetsConfig.DimConfig` `verifyDim(String dim)` Throws `IllegalArgumentException` if the dimension is not recognized.

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

`getSpecificValue, getTopChildren`

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

Index field name provided to the constructor.

#### taxoReader

    protected final TaxonomyReader taxoReader

`TaxonomyReader` provided to the constructor.

#### config

    protected final FacetsConfig config

`FacetsConfig` provided to the constructor.

#### parents

    protected final int[] parents

Maps an ordinal to its parent, or -1 if there is no parent (root node).

### Constructor Detail

#### TaxonomyFacets

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

Sole constructor.

Throws:
  `IOException`

### Method Detail

#### getChildren

    protected int[] getChildren()
                         throws IOException

Returns int[] mapping each ordinal to its first child; this is a large array and is computed (and then saved) the first time this method is invoked.

Throws:
  `IOException`

#### getSiblings

    protected int[] getSiblings()
                         throws IOException

Returns int[] mapping each ordinal to its next sibling; this is a large array and is computed (and then saved) the first time this method is invoked.

Throws:
  `IOException`

#### childrenLoaded

    public boolean childrenLoaded()

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()

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)

Throws `IllegalArgumentException` if the dimension is not recognized. Otherwise, returns the `FacetsConfig.DimConfig` for this dimension.

#### getAllDims

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

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`