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 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 org.apache.lucene.facet.index.FacetFields
addCountingListData
 
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

drillDownFieldType

protected FieldType drillDownFieldType()
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:
drillDownFieldType 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.