org.apache.lucene.facet.associations
Class AssociationsFacetFields

java.lang.Object
  extended by org.apache.lucene.facet.index.FacetFields
      extended by org.apache.lucene.facet.associations.AssociationsFacetFields

public class AssociationsFacetFields
extends FacetFields

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 inherited from class org.apache.lucene.facet.index.FacetFields
indexingParams, taxonomyWriter
 
Constructor Summary
AssociationsFacetFields(TaxonomyWriter taxonomyWriter)
          Constructs a new instance with the default facet indexing params.
AssociationsFacetFields(TaxonomyWriter taxonomyWriter, FacetIndexingParams params)
          Constructs a new instance with the given facet indexing params.
 
Method Summary
 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 fieldType()
          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
 

Constructor Detail

AssociationsFacetFields

public AssociationsFacetFields(TaxonomyWriter taxonomyWriter)
Constructs a new instance with the default facet indexing params.

Parameters:
taxonomyWriter - used to resolve given categories to ordinals

AssociationsFacetFields

public AssociationsFacetFields(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)
Description copied from class: FacetFields
Creates a mapping between a CategoryListParams and all categories that are associated with it.

Overrides:
createCategoryListMapping in class FacetFields

getCategoryListData

protected Map<String,BytesRef> getCategoryListData(CategoryListParams categoryListParams,
                                                   IntsRef ordinals,
                                                   Iterable<CategoryPath> categories)
                                            throws IOException
Description copied from class: FacetFields
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.

Overrides:
getCategoryListData in class FacetFields
Throws:
IOException

getDrillDownStream

protected DrillDownStream getDrillDownStream(Iterable<CategoryPath> categories)
Description copied from class: FacetFields
Returns a DrillDownStream for writing the categories drill-down terms.

Overrides:
getDrillDownStream in class FacetFields

fieldType

protected FieldType fieldType()
Description copied from class: FacetFields
Returns the FieldType with which the drill-down terms should be indexed. The default is FieldInfo.IndexOptions.DOCS_ONLY.

Overrides:
fieldType in class FacetFields

addFields

public void addFields(Document doc,
                      Iterable<CategoryPath> categories)
               throws IOException
Description copied from class: FacetFields
Adds the needed facet fields to the document.

Overrides:
addFields in class FacetFields
Throws:
IOException


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