In most cases, you specify a multi-value property, such as an array or Collection, using the property
element, just as you specify a single-value property. In the following example, the features
property stores an array of Strings:
<properties> <property name="creationDate" type="date"/> <property name="brand" is-dimension="true" type="string" text-searchable="true"/> <property name="displayName" type="string" text-searchable="true"/> <property name="features" type="string" text-searchable="true"/> </properties>
Notice that features
is specified in the same way as creationDate
, brand
, and displayName
, which are all single-value properties. The output will include a separate entry for each value in the features
array.
If a property is an array or Collection of repository items, you specify it using the item
element, and set the is-multi
attribute to true
. For example, in a product catalog, a product
item will typically have a multi-valued childSKUs
property whose values are the various SKUs for the product. You might specify the property like this:
<item property-name="childSKUs" is-multi="true"> <properties> <property name="color" is-dimension="true" type="string" text-searchable="true"/> <property name="description" type="string" text-searchable="true"/> </properties> </item>
If you index by product, the output records will include the color
and description
value for each of the product’s SKUs.