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
,AutoCloseable
public class CategoryParentsStream extends org.apache.lucene.analysis.TokenFilter
This class adds parents to aCategoryAttributesStream
. The parents are added according to thePathPolicy
andOrdinalPolicy
from theFacetIndexingParams
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 usingaddRetainableProperty(Class)
.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected CategoryAttribute
categoryAttribute
An attribute containing all data related to the categoryprotected OrdinalProperty
ordinalProperty
A category property containing the category ordinalprotected TaxonomyWriter
taxonomyWriter
ATaxonomyWriter
for adding categories and retrieving their ordinals.
-
Constructor Summary
Constructors Constructor Description CategoryParentsStream(CategoryAttributesStream input, TaxonomyWriter taxonomyWriter, FacetIndexingParams indexingParams)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRetainableProperty(Class<? extends CategoryProperty> toRetain)
Add aCategoryProperty
class which is retained when creating parent tokens.protected void
clearCategoryProperties()
Clear the properties of the currentCategoryAttribute
attribute before setting the parent attributes.boolean
incrementToken()
-
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
-
-
-
-
Field Detail
-
taxonomyWriter
protected TaxonomyWriter taxonomyWriter
ATaxonomyWriter
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
-
-
Constructor Detail
-
CategoryParentsStream
public CategoryParentsStream(CategoryAttributesStream input, TaxonomyWriter taxonomyWriter, FacetIndexingParams indexingParams)
Constructor.- Parameters:
input
- The input stream to handle, must be derived fromCategoryAttributesStream
.taxonomyWriter
- The taxonomy writer to use for adding categories and retrieving their ordinals.indexingParams
- The indexing params used for filtering parents.
-
-
Method Detail
-
incrementToken
public final boolean incrementToken() throws IOException
- Specified by:
incrementToken
in classorg.apache.lucene.analysis.TokenStream
- Throws:
IOException
-
clearCategoryProperties
protected void clearCategoryProperties()
Clear the properties of the currentCategoryAttribute
attribute before setting the parent attributes.
It is possible to retain properties of certain types the parent tokens, usingaddRetainableProperty(Class)
.
-
addRetainableProperty
public void addRetainableProperty(Class<? extends CategoryProperty> toRetain)
Add aCategoryProperty
class which is retained when creating parent tokens.- Parameters:
toRetain
- The property class to retain.
-
-