Catalog Upload operations in WebSphere Commerce Search

Certain actions require WebSphere Commerce Search index updates when you are uploading catalog data in the Management Center. Search index updates apply in cases where you are using the Catalog Upload or Data Load utility.

The following table outlines whether indexing is required when you are performing certain business actions with Catalog Upload or the Data Load utility:

The type of indexing depends on what is specified in the data load configuration files. The indexing must be configured within the data load order and business object configuration files. When the configuration for requesting a search index is included, the UpdateSearchIndex job is scheduled to index the objects that you are loading. The scheduled job runs a delta index unless a
  • In the data load order configuration file, add the buildSearchIndex configuration property. For the value of the property, specify either delta or full to run a delta or full index update process. If workspaces are enabled, the DeltaIndexingThresholdUponWorkspaceApproval configuration property can be included to set the value when a full index runs instead of a delta index. The following code is a sample configuration within a data load order configuration file:
    
    <_config:LoadOrder commitCount="1" batchSize="1" maxError="1" dataLoadMode="Replace" >
    <_config:property name="buildSearchIndex" value="delta" />
    <_config:property name="DeltaIndexingThresholdUponWorkspaceApproval" value="100000" />
    </_config:LoadOrder> 
    
    Where
    • buildSearchIndex is either delta or full. When not specified, the default value is delta.
    • If the delta indexing threshold is exceeded for workspace indexes (DeltaIndexingThresholdUponWorkspaceApproval), a full indexing is performed upon approval.
    For more information, see Configuring the data load order.
  • In the business object configuration file, add the search index mediator and index data mapping for the specific business object that is being loaded. The following code is a sample business object configuration for loading categories that specifies the search index mediator:
    <_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder"
      packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" >
      <_config:DataMapping>
      ...
      </_config:DataMapping>
      <_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog" />
    </_config:BusinessObjectBuilder>
    
    <!--  Catalog Group Search Index -->
    <_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder"
      packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" >
      <_config:DataMapping>
        <!-- The unique reference number of the category -->
        <_config:mapping xpath="CatalogGroupIdentifier/UniqueID" value="GroupUniqueId" />
        <!-- The identifier of the category -->
        <_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="GroupIdentifier" />
        <!-- The unique reference number of the store that owns the category -->
        <_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="StoreIdentifier" />
        <!-- The unique reference number of the parent category -->
        <_config:mapping xpath="ParentCatalogGroupIdentifier/UniqueID" value="ParentGroupUniqueId" />
        <!-- The identifier of the parent category -->
        <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="ParentGroupIdentifier" />
        <!-- The unique reference number of the store that owns the parent category -->
        <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID" value="ParentStoreUniqueId" />
        <!-- The identifier of the store that owns the parent category -->
        <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="ParentStoreIdentifier" />
        <!-- The identifier of the catalog -->
        <_config:mapping xpath="Attributes/CatalogIdentifier" value="CatalogIdentifier" />
        </_config:DataMapping>
      <_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupRelationshipSearchIndexMediator" 
        componentId="com.ibm.commerce.catalog" >
      </_config:BusinessObjectMediator>
    </_config:BusinessObjectBuilder>
    
    For a list of the search index mediators for business objects, see Data Load utility business object mediators. For more information about configuring a business object configuration file, see Configuring the business object configuration file. As a reference to help you configure the data mapping for an object, review the business object configuration files that are provided by default for use with Catalog Upload. To review these files, go to the following directory:
    • For IBM i OS operating systemAIXLinuxWC_eardir/xml/config/com.ibm.commerce.catalog/dataload
    • WindowsWC_eardir\xml\config\com.ibm.commerce.catalog\dataload
    • WebSphere Commerce Developerworkspace_dir\WC\xml\config\com.ibm.commerce.catalog\dataload
    The following files include the configuration to run search indexing:
    • wc-loader-AD-attribute-allowed-values.xml
    • wc-loader-catalog-entry.xml
    • wc-loader-catalog-group.xml
    • wc-loader-catalog-group-description.xml
When you are uploading data with Catalog Upload or the Data Load utility:
  • If you upload as approved content, the base indexes are affected.
  • If you upload as non-approved content, the workspace indexes are affected.

Load operations

Load operations

The following table shows uploading data objects by business object type.

Business object Keyword To upload ... Catalog upload Data Load
Catalog Catalog Master or sales catalog, and optionally its description. Reindexing not required Reindexing not required
CatalogDescription Catalog descriptions in multiple languages. Reindexing not required Reindexing not required
Category CatalogGroup Categories, optionally the categories description, and the parent and child category relationships. Reindexing required Reindexing required
CatalogGroupAssociation Merchandising associations between categories. Reindexing not required Reindexing not required
CatalogGroupDescription Category descriptions (language-dependent). Reindexing required Reindexing required
CatalogGroupRelationship Parent-child relationship between categories. Reindexing required Not supported
Catalog entry (product, package, bundle, kit, item) CatalogEntry Catalog entries such as products, SKUs, bundle or kits, and optionally the catalog entries description. Also the product and SKU relationships. Reindexing required Reindexing required
CatalogEntryAssociation Merchandising associations between catalog entries. Reindexing not required Reindexing not required
CatalogEntryComponent Multiple relationships between the parent kit (package, bundle, and dynamic kit) and its child catalog entries Reindexing required Reindexing required
CatalogEntryDescription Catalog entry descriptions (language-dependent). Reindexing required Reindexing required
CatalogEntryDescriptiveAttributeAndValue Descriptive attributes and values for a product or SKU (non-attribute dictionary). Not supported Not supported
CatalogEntryDescriptionOverride Catalog entry description overrides for extended site store model Reindexing not required Reindexing not required
CatalogEntryOfferPrice Catalog entry offer price. Reindexing required Reindexing required
CatalogEntryParentCatalogGroupRelationship Parent-child relationships between categories and catalog entries. Reindexing required Reindexing required
CatalogEntryParentProductRelationship Product and SKU relationships between catalog entries. Not supported Not supported
Attribute ProductDefiningAttributeAndAllowedValues Attribute and allowed values for products (non-attribute dictionary). Not supported Not supported
SKUDefiningAttributeValue Attribute value for SKUs (non-attribute dictionary). Not supported Not supported
Attribute dictionary attribute AttributeDictionaryAttributeAndAllowedValues Attribute dictionary attribute and allowed values. Reindexing required Not supported
AttributeDictionaryAttributeAllowedValues Attribute dictionary attributes allowed values (in other national languages). Reindexing required Not supported
CatalogEntryAttributeDictionaryAttributeRelationship Attribute dictionary attribute value for SKUs. Reindexing required Not supported
Attachment CatalogEntryAttachment The attachments of the catalog entry. Not supported Not supported
CatalogGroupAttachment The attachments of the catalog group. Not supported Not supported
CatalogEntryAsset The assets of the catalog entry. Not supported Not supported
CatalogGroupAsset The assets of the catalog group. Not supported Not supported
SEO CatalogGroupSEO The SEO catalog group. Not supported Not supported
CatalogEntrySEO The SEO catalog entry. Not supported Not supported