The following describes key properties of the atg.commerce.endeca.index.dimension.CategoryTreeService
class and the default configuration of the /atg/commerce/endeca/index/CategoryTreeService
component of this class:
indexingOutputConfig
The component of class atg.endeca.index.EndecaIndexingOutputConfig
whose definition file should be used for generating schema records. By default, this property is set to:
indexingOutputConfig=/atg/commerce/search/ProductCatalogOutputConfig
catalogTools
The component of class atg.commerce.catalog.custom.CustomCatalogTools
for accessing the catalog repository. By default, this property is set to:
catalogTools=/atg/commerce/catalog/CatalogTools
excludeRootCategories
A boolean that specifies whether dimension values should be created for root categories. This property defaults to false
, meaning dimension values are created. Commerce Reference Store sets excludeRootCategories
to true
, because its root categories are not displayed and therefore should not have associated dimension values.
excludedItemsCategoryIds
A list of IDs of categories that dimension values should not be created for, because their child products and SKUs are excluded from indexing. If excludedItemsCategoryIds
is not set explicitly, it is automatically set to the list of category IDs in the excludedItemsAncestorIds
property of the ProductCatalogOutputConfig
component.
Note that to prevent creation of a dimension value for a specific category, all of its ancestor and descendant categories must be specified in excludedItemsCategoryIds
. If there are multiple paths to a category, a separate dimension value is created for the category for each path; if you exclude the dimension value associated with one path (by listing all of the categories in that path), that does not prevent the creation of dimension values for other paths.
excludedCategoryIds
A list of IDs of categories that dimension values should not be created for (in addition to any categories excluded by the values of excludeRootCategories
and excludedItemsCategoryIds
).
sitesForCatalogs
To create a representation of the category hierarchy in which each category dimension value has only one parent, the CategoryTreeService
class creates data structures in memory that represent all possible paths to each category in the product catalog. In order to do this, it must be provided with a list of the catalogs to use for computing paths.
The sitesForCatalogs
property specifies a list of sites, and CategoryTreeService
uses the catalogs associated with these sites for computing paths. The sitesForCatalogs
property cannot be set through a properties file; by default, it is set automatically to the value of the sitesToIndex
property of the associated EndecaIndexingOutputConfig
component. If sitesToIndex
is null, CategoryTreeService
instead uses the rootCatalogsRQLString
property to determine the catalogs.
rootCatalogsRQLString
An RQL query that returns a list of catalogs. If sitesForCatalogs
is null, the catalogs returned from this query are used. The query is set by default to:
rootCatalogsRQLString=\
directParentCatalogs IS NULL AND parentCategories IS NULL
If sitesForCatalogs
and rootCatalogsRQLString
are both null, CategoryTreeService
uses the rootCatalogIds
property to determine the catalogs.
rootCatalogIds
An explicit list of catalog IDs of the catalogs to use. This list is used if sitesForCatalogs
and rootCatalogsRQLString
are both null. By default, rootCatalogIds
is set to null.