org.apache.lucene.facet.index.streaming
Class CategoryParentsStream
java.lang.Object
org.apache.lucene.util.AttributeSource
org.apache.lucene.analysis.TokenStream
org.apache.lucene.analysis.TokenFilter
org.apache.lucene.facet.index.streaming.CategoryParentsStream
- All Implemented Interfaces:
- Closeable
public class CategoryParentsStream
- extends org.apache.lucene.analysis.TokenFilter
This class adds parents to a CategoryAttributesStream. The parents
are added according to the PathPolicy and OrdinalPolicy from
the FacetIndexingParams given in the constructor.
By default, category properties are removed when creating parents of a
certain category. However, it is possible to retain certain property types
using addRetainableProperty(Class).
- WARNING: This API is experimental and might change in incompatible ways in the next release.
| Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource |
org.apache.lucene.util.AttributeSource.AttributeFactory, org.apache.lucene.util.AttributeSource.State |
| Fields inherited from class org.apache.lucene.analysis.TokenFilter |
input |
| Methods inherited from class org.apache.lucene.analysis.TokenFilter |
close, end, reset |
| Methods inherited from class org.apache.lucene.util.AttributeSource |
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState, toString |
taxonomyWriter
protected TaxonomyWriter taxonomyWriter
- A
TaxonomyWriter for adding categories and retrieving their
ordinals.
categoryAttribute
protected CategoryAttribute categoryAttribute
- An attribute containing all data related to the category
ordinalProperty
protected OrdinalProperty ordinalProperty
- A category property containing the category ordinal
CategoryParentsStream
public CategoryParentsStream(CategoryAttributesStream input,
TaxonomyWriter taxonomyWriter,
FacetIndexingParams indexingParams)
- Constructor.
- Parameters:
input - The input stream to handle, must be derived from
CategoryAttributesStream.taxonomyWriter - The taxonomy writer to use for adding categories and
retrieving their ordinals.indexingParams - The indexing params used for filtering parents.
incrementToken
public final boolean incrementToken()
throws IOException
- Specified by:
incrementToken in class org.apache.lucene.analysis.TokenStream
- Throws:
IOException
clearCategoryProperties
protected void clearCategoryProperties()
- Clear the properties of the current
CategoryAttribute attribute
before setting the parent attributes.
It is possible to retain properties of certain types the parent tokens,
using addRetainableProperty(Class).
addRetainableProperty
public void addRetainableProperty(Class<? extends CategoryProperty> toRetain)
- Add a
CategoryProperty class which is retained when creating
parent tokens.
- Parameters:
toRetain - The property class to retain.