org.apache.lucene.facet.index

## Class FacetFields

- java.lang.Object
- - org.apache.lucene.facet.index.FacetFields

- Direct Known Subclasses:
    AssociationsFacetFields

      public class FacetFields
      extends Object

  A utility class for adding facet fields to a document. Usually one field will be added for all facets, however per the `FacetIndexingParams.getCategoryListParams(CategoryPath)`, one field may be added for every group of facets.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected FacetIndexingParams` | `indexingParams`
    `protected TaxonomyWriter` | `taxonomyWriter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FacetFields(TaxonomyWriter taxonomyWriter)` Constructs a new instance with the `default` facet indexing params.
    `FacetFields(TaxonomyWriter taxonomyWriter, FacetIndexingParams params)` Constructs a new instance with the given facet indexing params.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addCountingListData(Document doc, Map<String,BytesRef> categoriesData, String field)` Add the counting list data to the document under the given field.
    `void` | `addFields(Document doc, Iterable<CategoryPath> categories)` Adds the needed facet fields to the document.
    `protected Map<CategoryListParams,Iterable<CategoryPath>>` | `createCategoryListMapping(Iterable<CategoryPath> categories)` Creates a mapping between a `CategoryListParams` and all `categories` that are associated with it.
    `protected FieldType` | `drillDownFieldType()` Returns the `FieldType` with which the drill-down terms should be indexed.
    `protected Map<String,BytesRef>` | `getCategoryListData(CategoryListParams categoryListParams, IntsRef ordinals, Iterable<CategoryPath> categories)` Returns the category list data, as a mapping from key to `BytesRef` which includes the encoded data.
    `protected DrillDownStream` | `getDrillDownStream(Iterable<CategoryPath> categories)` Returns a `DrillDownStream` for writing the categories drill-down terms.

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

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

- - ### Field Detail

    - #### taxonomyWriter

          protected final TaxonomyWriter taxonomyWriter

    - #### indexingParams

          protected final FacetIndexingParams indexingParams

  - ### Constructor Detail

    - #### FacetFields

          public FacetFields(TaxonomyWriter taxonomyWriter)

      Constructs a new instance with the `default` facet indexing params.
      Parameters:
        `taxonomyWriter` - used to resolve given categories to ordinals

    - #### FacetFields

          public FacetFields(TaxonomyWriter taxonomyWriter,
                     FacetIndexingParams params)

      Constructs a new instance with the given facet indexing params.
      Parameters:
        `taxonomyWriter` - used to resolve given categories to ordinals
        `params` - determines under which fields the categories should be indexed

  - ### Method Detail

    - #### createCategoryListMapping

          protected Map<CategoryListParams,Iterable<CategoryPath>> createCategoryListMapping(Iterable<CategoryPath> categories)

      Creates a mapping between a `CategoryListParams` and all `categories` that are associated with it.

    - #### getCategoryListData

          protected Map<String,BytesRef> getCategoryListData(CategoryListParams categoryListParams,
                                                 IntsRef ordinals,
                                                 Iterable<CategoryPath> categories)
                                                      throws IOException

      Returns the category list data, as a mapping from key to `BytesRef` which includes the encoded data. Every ordinal in `ordinals` corrspond to a `CategoryPath` returned from `categories`.
      Throws:
        `IOException`

    - #### getDrillDownStream

          protected DrillDownStream getDrillDownStream(Iterable<CategoryPath> categories)

      Returns a `DrillDownStream` for writing the categories drill-down terms.

    - #### drillDownFieldType

          protected FieldType drillDownFieldType()

      Returns the `FieldType` with which the drill-down terms should be indexed. The default is `FieldInfo.IndexOptions.DOCS_ONLY`.

    - #### addCountingListData

          protected void addCountingListData(Document doc,
                                 Map<String,BytesRef> categoriesData,
                                 String field)

      Add the counting list data to the document under the given field. Note that the field is determined by the `CategoryListParams`.

    - #### addFields

          public void addFields(Document doc,
                       Iterable<CategoryPath> categories)
                         throws IOException

      Adds the needed facet fields to the document.
      Throws:
        `IOException`

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