|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CategoryEnhancement
This interface allows easy addition of enhanced category features. Usually, a
CategoryEnhancement
will correspond to a CategoryProperty
.
A category enhancement can contribute to the index in two possible ways:
getCategoryTokenBytes(CategoryAttribute)
. This data will be read
during search using extractCategoryTokenData(byte[], int, int)
.CategoryListTokenizer
through
getCategoryListTokenizer(TokenStream, EnhancementsIndexingParams, TaxonomyWriter)
. The CategoryListTokenizer
should add a single token which includes
all the enhancement relevant data from the categories. The category list
token's text is defined by getCategoryListTermText()
.
Method Summary | |
---|---|
Object |
extractCategoryTokenData(byte[] buffer,
int offset,
int length)
Get the data of this enhancement from a category token payload. |
boolean |
generatesCategoryList()
Declarative method to indicate whether this enhancement generates separate category list. |
String |
getCategoryListTermText()
Returns the text of this enhancement's category list term. |
CategoryListTokenizer |
getCategoryListTokenizer(org.apache.lucene.analysis.TokenStream tokenizer,
EnhancementsIndexingParams indexingParams,
TaxonomyWriter taxonomyWriter)
Get the CategoryListTokenizer which generates the category list
for this enhancement. |
byte[] |
getCategoryTokenBytes(CategoryAttribute categoryAttribute)
Get the bytes to be added to the category token payload for this enhancement. |
Class<? extends CategoryProperty> |
getRetainableProperty()
Get a CategoryProperty class to be retained when creating
CategoryParentsStream . |
Method Detail |
---|
byte[] getCategoryTokenBytes(CategoryAttribute categoryAttribute)
NOTE: The returned array is copied, it is recommended to allocate a new one each time.
The bytes generated by this method are the input of
extractCategoryTokenData(byte[], int, int)
.
categoryAttribute
- The attribute of the category.
Object extractCategoryTokenData(byte[] buffer, int offset, int length)
The input bytes for this method are generated in
getCategoryTokenBytes(CategoryAttribute)
.
buffer
- The payload buffer.offset
- The offset of this enhancement's data in the buffer.length
- The length of this enhancement's data (bytes).
boolean generatesCategoryList()
true
if generates category list, else false
.String getCategoryListTermText()
CategoryListTokenizer getCategoryListTokenizer(org.apache.lucene.analysis.TokenStream tokenizer, EnhancementsIndexingParams indexingParams, TaxonomyWriter taxonomyWriter)
CategoryListTokenizer
which generates the category list
for this enhancement. If generatesCategoryList()
returns
false
this method will not be called.
tokenizer
- The input stream containing categories.indexingParams
- The indexing params to use.taxonomyWriter
- The taxonomy to add categories and get their ordinals.
CategoryListTokenizer
generating the category list for
this enhancement, with tokenizer
as it's input.Class<? extends CategoryProperty> getRetainableProperty()
CategoryProperty
class to be retained when creating
CategoryParentsStream
.
CategoryProperty
class to be retained when creating
CategoryParentsStream
, or null
if there is no
such property.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |