The atg.endeca.index.EndecaIndexingOutputConfig class has a number of properties that configure various aspects of the record creation and submission process:

indexingApplicationConfiguration

The component of class atg.endeca.index.configuration.IndexingApplicationConfiguration used to configure indexing settings for the integration. For both the ProductCatalogOutputConfig and CategoryToDimensionOutputConfig components, the default setting is:

indexingApplicationConfiguration=\
  /atg/endeca/index/IndexingApplicationConfiguration
definitionFile

The full Nucleus pathname of the XML indexing definition file that specifies the repository item types and properties to include in the Guided Search 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 GSA repository items are transformed into Guided Search records.

repository

The full Nucleus pathname of the repository that the definition file applies to. For both the ProductCatalogOutputConfig and CategoryToDimensionOutputConfig components, 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 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, which are hierarchical. For ProductCatalogOutputConfig, this property is set to false by default, because the component does not generate hierarchical 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 (for example, 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 that 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 Guided Search, in case different repository 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.

If replaceWithTypePrefixes is null, the behavior is the same as if the property is set to a period; the type prefix is added to the names of the output properties of the top-level item. Note, however, that in this case the behavior is due to a default in the Java class, rather than the Nucleus configuration. So if you add a setting like the following in a properties file, the class default will no longer be in effect, which means the type prefix will not be added to properties of the top-level item:

replaceWithTypePrefixes+=childSKUs

To get the desired results, you should instead use a setting like this:

replaceWithTypePrefixes=.,childSKUs
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,
$siteId=siteId,
$url=url,
$baseUrl=baseUrl

These mappings remove the dollar-sign ($) character from the names of special repository properties, because this character is not valid in Guided Search property names.

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, 2015 Oracle and/or its affiliates. All rights reserved. Legal Notices