In a CAS-style application, the name of the root node in a dimension hierarchy is the forward slash (/
). So, for example, the forward slash is the name of the root node of the category dimension.
The following example is part of a record created by the CategoryToDimensionOutputConfig
component that represents a top-level category. The value of this category’s dimval.parent_spec
property is the root node:
<PROP NAME="dimval.parent_spec">
<PVAL>/</PVAL>
</PROP>
In a Forge-based application, the name of the root node of a hierarchical dimension is the name of the dimension. For example, the root node of the category dimension hierarchy is product.category
. So a record representing a top-level category includes this instead:
<PROP NAME="dimval.parent_spec">
<PVAL>product.category</PVAL>
</PROP>
The value for the name of the root node is configured separately for the category hierarchy and the repository item type hierarchy. For the repository item type hierarchy, the rootParentSpecifier
property of components of class atg.endeca.index.dimension.RepositoryTypeHierarchyExporter
(including the RepositoryTypeDimensionExporter
, ArticleDimensionExporter
, and MediaContentDimensionExporter
components) is set by default to:
rootParentSpecifier=/
For a Forge-based application, set the rootParentSpecifier
property of each RepositoryTypeHierarchyExporter
component to null so it uses its default value, which is the dimension name:
rootParentSpecifier^=/Constants.null
For the category hierarchy, the name of the root node is configured through the defaultValue
property of the /atg/commerce/endeca/index/accessor/ParentSpecPropertyAccessor
component. (See Category Dimension Value Accessors for information about this component.) This property is set by default to:
defaultValue=/
In a Forge-based application, change the value of this property to the name of the dimension. You can configure this as follows:
defaultValue^=\
/atg/commerce/endeca/index/CategoryRootNodeSynchronization.dimensionName
Root Node Export
For a CAS-based application, the Oracle Commerce Platform does not create a record representing the root node of a dimension hierarchy. Instead, Oracle Commerce Guided Search automatically creates the root node and names it “/
”. For a Forge-based application, however, the Oracle Commerce Platform does create a record representing the root node, and gives the node the name of the dimension.
This behavior is configured separately for the category hierarchy and the repository item type hierarchy. For the repository item type hierarchy, the createRootNode
property of RepositoryTypeHierarchyExporter
components (including RepositoryTypeDimensionExporter
, ArticleDimensionExporter
, and MediaContentDimensionExporter
) is set by default to:
createRootNode=false
In a Forge-based application, set the createRootNode
property of all RepositoryTypeHierarchyExporter
components to true
.
For the category hierarchy, creating a record for the root node is controlled through the indexingSynchronizations
property of the CategoryToDimensionOutputConfig
component. This property accepts an array of components of classes that implement the atg.repository.search.indexing.IndexingSynchronization
interface. If this property includes the /atg/commerce/endeca/index/CategoryRootNodeSynchronization
component, the root node record is generated. By default, this component is not included in the array. In a Forge-based application, you should add the component as follows:
indexingSynchronizations+=\
/atg/commerce/endeca/index/CategoryRootNodeSynchronization