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/endeca/index/commerce/product-sku-output-config.xml

For /atg/endeca/index/commerce/CategoryToDimensionOutputConfig:

definitionFile=/atg/endeca/index/commerce/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
repositoryItemsGroup

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 includes only items that can also be viewed by browsing 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.

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.

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, ATG 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.


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

Legal Notices