You may also be able to reduce the size of your index by concatenating the values of text properties. For example, suppose a product’s SKUs have a color property, whose values are red, green, blue, and yellow. The resulting entries in the XHTML document will be:
<div class="atg:role:childSKUs.color" id="1">red</div>
<div class="atg:role:childSKUs.color" id="2">green</div>
<div class="atg:role:childSKUs.color" id="3">blue</div>
<div class="atg:role:childSKUs.color" id="4">yellow</div>
By concatenating the values, you can reduce this to:
<div class="atg:role:childSKUs.color" id="1">red green blue yellow</div>
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.
Some guidelines for using concat:
Do not use the
concatfilter for metadata properties. This will almost always produce undesirable results.Concatenating property values may have some slight effects on the search results. It is probably best to use the
concatfilter only for properties with short text values, such as thecolorproperty shown above. Concatenating properties with long text values, such aslongDescription, can have negative effects.You can use both the
uniqueand theconcatfilters on the same text property, by setting the value of thefilterattribute to a comma-separated list. The filters are invoked in the order that they are listed, so it is important to put theuniquefilter first for it to have an effect. For example:<property name="color" filter="unique,concat"/>

