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 eitherdelta
orfull
to run a delta or full index update process. If workspaces are enabled, theDeltaIndexingThresholdUponWorkspaceApproval
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:
Where<_config:LoadOrder commitCount="1" batchSize="1" maxError="1" dataLoadMode="Replace" > <_config:property name="buildSearchIndex" value="delta" /> <_config:property name="DeltaIndexingThresholdUponWorkspaceApproval" value="100000" /> </_config:LoadOrder>
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.
- 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:- WC_eardir/xml/config/com.ibm.commerce.catalog/dataload
- WC_eardir\xml\config\com.ibm.commerce.catalog\dataload
- workspace_dir\WC\xml\config\com.ibm.commerce.catalog\dataload
- 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
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 |