The ATG-Endeca integration uses the category hierarchy in the ATG product catalog to construct a category dimension in Oracle Endeca Commerce. In some cases, the hierarchy cannot be translated directly, because ATG’s catalog hierarchy supports categories with multiple parent categories, while Endeca requires each dimension value to have a single parent.

For example, suppose you have the following category structure in your product catalog:

To deal with this structure, the ATG-Endeca integration creates two different records for the Men’s Shoes dimension value, one for each path to this category in the catalog hierarchy. These paths are computed by the atg.commerce.endeca.index.dimension.CategoryTreeService class.

The ATG-Endeca integration includes a component of this class, /atg/endeca/index/commerce/CategoryTreeService. This component, which is run prior to indexing, creates data structures in memory that represent all possible paths to each category in the product catalog. A category can have multiple parents, and those parents and their ancestors can each have multiple parents, so there can be any number of unique paths to an individual category.

The CategoryToDimensionOutputConfig component then uses the /atg/endeca/index/commerce/CategoryPathVariantProducer component to create multiple records for each category, one for each path computed by CategoryTreeService. For each path, the corresponding record uses the pathname as the value of its dimval.spec property; this makes it possible to differentiate records that represent different paths to the same category.

In the example above, two records are created for the Men’s Shoes category. One of the records includes something like this:

<PROP NAME="dimval.spec">

The other record for the category includes something like this:

<PROP NAME="dimval.spec">

Note that the period (.) is used as a separator in the property values rather the slash (/). This is done so the value can be passed to Oracle Endeca Commerce through a URL query parameter when issuing a search query.

Copyright © 1997, 2012 Oracle and/or its affiliates. All rights reserved.

Legal Notices