Catalog Upload operations in WebSphere Commerce Search
Certain actions require WebSphere Commerce Search index updates when we are uploading catalog data in the Management Center. Search index updates apply in cases where we are using the Catalog Upload or Data Load utility.
The following table outlines whether indexing is required when we 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 we 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.
See Configure 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 Configure 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
workspace_dir\WC\xml\config\com.ibm.commerce.catalog\dataload directory. 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 we 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
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