You may also be able to reduce the size of your index by concatenating the values of text properties. For example, suppose each record represents a product whose SKUs have a color
property, with values of red, green, blue, and yellow. The entries for color
in a record might be:
<PROP NAME="sku.color">
<PVAL>red</PVAL>
<PVAL>green</PVAL>
<PVAL>blue</PVAL>
<PVAL>yellow</PVAL>
</PROP>
By concatenating the values, you can reduce this to:
<PROP NAME="sku.color">
<PVAL>red green blue yellow</PVAL>
</PROP>
To combine these values into a single tag, specify the ConcatFilter
class in the XML definition file:
<property name="color" filter="concat"/>
This setting invokes an instance of the atg.repository.search.indexing.filter.ConcatFilter
class. Note that you do not need to create a Nucleus component to use this filter.
You can use both the unique
and concat
filters on the same property, by setting the value of the filter
attribute to a comma-separated list. The filters are invoked in the order that they are listed, so it is important to put the unique
filter first for it to have an effect. For example:
<property name="color" filter="unique,concat"/>