The atg.endeca.index.EndecaIndexingOutputConfig
class has a number of properties that configure various aspects of the record creation and submission process:
definitionFile
The full Nucleus pathname of the XML indexing definition file that specifies the repository item types and properties to include in the Endeca records. For the /atg/commerce/search/ProductCatalogOutputConfig
component, this property is set as follows:
definitionFile=/atg/commerce/endeca/index/product-sku-output-config.xml
For /atg/commerce/endeca/index/CategoryToDimensionOutputConfig
:
definitionFile=/atg/commerce/endeca/index/category-dim-output-config.xml
See the Configuring EndecaIndexingOutputConfig Definition Files chapter for information about the definition file’s elements and attributes that configure how ATG repository items are transformed into Endeca records.
repository
The full Nucleus pathname of the repository that the definition file applies to. For both the ProductCatalogOutputConfig
and CategoryToDimensionOutputConfig
, this property is set to the product catalog repository:
repository=/atg/commerce/catalog/ProductCatalog
It is also possible to specify the repository in the indexing definition file using the repository-path
attribute of the top-level item
element. If the repository is specified in the definition file and also set by the component’s repository
property, the value set by the repository
property overrides the value set in the definition file.
Note that in an ATG Content Administration environment, the repository should not be set to a versioned repository. Instead, it should be set to the corresponding unversioned target repository. For example, an EndecaIndexingOutputConfig
component for a product catalog in an ATG Content Administration environment could be set to:
repository=/atg/commerce/catalog/ProductCatalog_production
repositoryItemGroup
A component of a class that implements the atg.repository.RepositoryItemGroup
interface. This interface defines a logical grouping of repository items. Items that are not included in this logical grouping are excluded from the index. For the CategoryToDimensionOutputConfig
component, this property is set by default to null (so no items are excluded). For the ProductCatalogOutputConfig
component, repositoryItemGroup
property is set by default to:
repositoryItemGroup=/atg/commerce/search/IndexedItemsGroup
The IndexedItemsGroup
component uses this targeting rule set to select only products that have an ancestor catalog:
<ruleset> <accepts> <rule op=isNotNull> <valueof target="computedCatalogs"> </rule> </accepts> </ruleset>
This rule set ensures that the index does not include products that are not part of the catalog hierarchy.
It is also possible to specify a repository item group in the indexing definition file using the repository-item-group
attribute of the top-level item
element. If a repository item group is specified in the definition file and also by the component’s repositoryItemGroup
property, the value set by the repositoryItemGroup
property overrides the value set in the definition file.
Note that the IndexedItemGroup
component has a repository
property that specifies the repository that the items are selected from. This value must match the repository that the ProductCatalogOutputConfig
is associated with.
For more information about targeting rule sets, see ATG Personalization Programming Guide.
documentSubmitter
The component (typically of class atg.endeca.index.RecordStoreDocumentSubmitter
) to use to submit records to the appropriate CAS record store. For the ProductCatalogOutputConfig
component, this property is set as follows:
documentSubmitter=/atg/endeca/index/DataDocumentSubmitter
For the CategoryToDimensionOutputConfig
component:
documentSubmitter=/atg/endeca/index/DimensionDocumentSubmitter
See Document Submitter Components for more information.
forceToBaselineOnChange
If true
, a baseline update is performed when a partial update is invoked, if a value of a hierarchical dimension has been changed. For CatalogToDimensionOutputConfig
, this property is set to true
by default, because the component generates category dimension values. For ProductCatalogOutputConfig
, this property is set to false
by default, because the component does not generate dimension values.
bulkLoader
A Nucleus component of class atg.endeca.index.RecordStoreBulkLoaderImpl
. This is typically set to /atg/search/repository/BulkLoader
. Any number of EndecaIndexingOutputConfig
components can use the same bulk loader.
See Data Loader Components for more information.
enableIncrementalLoading
If true
, incremental loading is enabled.
incrementalLoader
A Nucleus component of class atg.endeca.index.RecordStoreIncrementalLoaderImpl
. This is typically set to /atg/search/repository/IncrementalLoader
. Any number of EndecaIndexingOutputConfig
components can use the same incremental loader.
See Data Loader Components for more information.
excludedItemsAncestorIds
A list of the IDs of the items whose child items should not be indexed. For example, Commerce Reference Store excludes products and skus that are not part of the standard catalog hierarchy (e.g., gift wrapping) by setting the excludedItemsAncestorIds
property of the ProductCatalogOutputConfig
component to:
excludedItemsAncestorIds=\
NonNavigableProducts,homeStoreNonNavigableProducts
siteIDsToIndex
A list of site IDs of the sites to include in the index. The value of this property is used to automatically set the value of the sitesToIndex
property, which is the actual property used to determine which sites to index. If siteIDsToIndex
is explicitly set to a list of site IDs, sitesToIndex
is set to the sites that have those IDs. If the value of siteIDsToIndex
is null (the default), sitesToIndex
is set to a list of all enabled sites. So it is only necessary to set siteIDsToIndex
if you want to restrict indexing to only a subset of the enabled sites.
replaceWithTypePrefixes
A list of the property-name prefixes that should be replaced with the item type the property is associated with. In this list, a period specifies that a type prefix should be added to properties of the top-level item, which is product
for ProductCatalogOutputConfig
and category
for CategoryToDimensionOutputConfig
.
For ProductCatalogOutputConfig
, the replaceWithTypePrefixes
property is set by default to:
replaceWithTypePrefixes=.,childSKUs
This means, for example, that the brand
property of the product
item is given the name product.brand
in the output records, and the onSale
property of the sku
item (which appears in the definition file as the childSKUs
property of the product
item) is given the name sku.onSale
. Properties that are specific to a sku
subtype are prefixed with the subtype name in the output records. For example, Commerce Reference Store has a furniture-sku
subtype, so the woodFinish
property (which is specific to this subtype) is given the output name furniture-sku.woodFinish
, while onSale
(which is common to all SKUs) is given the name sku.onSale
.
Adding these prefixes ensures that there is no duplication of property or dimension names in Oracle Endeca Commerce, in case different indexed ATG item types (or records from other sources) have identically named properties.
For CategoryToDimensionOutputConfig
, the replaceWithTypePrefixes
property is set to:
replaceWithTypePrefixes=.
This means, for example, that the ancestorCatalogIds
property of the category
item is given the name category.ancestorCatalogIds
in the output records.
prefixReplacementMap
A mapping of property-name prefixes to their replacements. This mapping is applied after any type prefixes are added by replaceWithTypePrefixes
.
For ProductCatalogOutputConfig
, prefixReplacementMap
is set by default to:
prefixReplacementMap=\
product.ancestorCategories=allAncestors
So, for example, the ancestorCategories.displayName
property is renamed to product.ancestorCategories.displayName
by applying replaceWithTypePrefixes
, and then the result is renamed to allAncestors.displayName
by applying prefixReplacementMap
.
For CategoryToDimensionOutputConfig
, prefixReplacementMap
is set to null by default, so no prefix replacement is performed.
suffixReplacementMap
A mapping of property-name suffixes to their replacements. In addition to any mappings you specify in the properties file, the following mappings are automatically included:
$repositoryId=repositoryId,
$repository.repositoryName=repositoryName,
$itemDescriptor.itemDescriptorName=type,
$siteId=siteId,
$url=url,
$baseUrl=baseUrl
The suffixReplacementMap
property is set to null by default for both ProductCatalogOutputConfig
and CategoryToDimensionOutputConfig
, which means only the automatic mappings are used. You can exclude the automatic mappings by setting the addDefaultOutputNameReplacements
property to false
.