You use various attributes of the property
element to specify the way ATG properties should be treated in the Endeca MDEX. The SchemaExporter
component then uses the values of these attributes in the schema records it creates.
To specify the data type of a property, you use the type
attribute. The value of this attribute can be date
, string
, boolean
, integer
, or float
. For example:
<property name="quantity" type="integer"/>
If a type
value is not specified, it defaults to string
.
You can designate a property as searchable, as a dimension, or both. To make a property searchable, set the text-searchable
attribute to true
. To make a property an Endeca dimension, set the is-dimension
attribute to true
. In the following example, the color
property is both a dimension and searchable:
<property name="color" is-dimension="true" text-searchable="true"/>
If is-dimension
is true
, you can use the multiselect-type
attribute to specify whether the customer can select multiple values of the dimension at the same time. The value of this attribute can be multi-or
(combine using Boolean OR), multi-and
(combine using Boolean AND), or none
(the default, meaning multiselect is not supported for this dimension). For example:
<property name="brand" is-dimension="true" multiselect-type="multi-or"/>
Multiselect logic works as follows:
Combining with Boolean OR returns results that match any of the selected values. For example, for a
color
dimension, if the user selectsyellow
andorange
, a given item is returned if itscolor
value isyellow
or if it isorange
.Combining with Boolean AND returns results that match all of the selected values. For example, suppose a product representing a laser printer has a
paperSizes
property that is an array of the paper sizes the printer accepts, and you have a dimension based on this property. If the user selectsA4
andletter
for this dimension, a given item is returned only if itspaperSizes
property includes bothletter
andA4
.
Automatically Generating Dimension Values
If is-dimension
is true
for an ATG property, by default Oracle Endeca Commerce examines the data and automatically generates non-hierarchical dimension values for the values of that property. For example, if the color
property has values of orange
, yellow
, and blue
, three dimension values are generated, representing the values of the property.
For a hierarchical dimension, though, the dimension value records must be explicitly created by the ATG-Endeca integration. This is done by the CategoryToDimensionOutputConfig
(for the product categories) and the RepositoryTypeDimensionExporter
component (for the catalog repository item-type hierarchy).
To prevent automatic generation of dimension values for a property, set the autogen-dimension-values
attribute to false
. For example, the dimension for the repository item-type hierarchy is defined like this:
<property autogen-dimension-values="false"
name="$itemDescriptor.itemDescriptorName" is-dimension="true"/>