Search properties in the component configuration file (wc-component.xml)

The component configuration file (wc-component.xml) contains properties to configure various features.
The component configuration files are stored in the following locations by default:
  • The default component configuration file: workspace_dir/WC/xml/config/com.ibm.commerce.component_name-fep/wc-component.xml
  • The extended component configuration file. This customized version of the file contains only the changed properties: workspace_dir/WC/xml/config/com.ibm.commerce.component_name-ext/wc-component.xml

Search properties in the catalog component configuration file

In the catalog component configuration file, the search-related properties are within the <_config:configgrouping name="SearchConfiguration"> element. In the file, the search properties are grouped into sections. For each property, you can read a description, and examples for some of the more complex properties. The following table summarizes the types of configurable properties in the file; refer to the comments within the file for more details:
Section of catalog component configuration file that contains search properties Purpose of properties
Start up
WarmStartSearchServer
Defines whether to allow the server to issue a search request to warm start the search server.

The default value is true.

WarmStartResetIndexingLock
Resets any pending indexing lock at server start. Typically this type of cleanup operation is unnecessary unless a previous indexing process unexpectedly failed and blocks all subsequent indexing requests to start.

The default value is false.

Server connectivity
IndexingRetries
The maximum number of indexing retries.

The default value is 10.

IndexingRetryInterval
The time interval between indexing retries, in seconds.

The default value is 60.

IndexingTimeout
The Data Import Handler timeout, in seconds.

The default value is 15.

ReplicationPollingInterval
The time interval in seconds between each polling for replication status on the subordinate servers.

The default value is 5.

ReplicationPollingConnectionTimeout
The connection timeout in seconds for the polling request for replication status.

The default value is 15.

Index synchronization
DeltaIndexingThreshold
The maximum number of delta updates that can be performed without a full reindexing.

The default value is 10000.

IndexingWarningThreshold
When the number of delta updates exceeds this threshold, a warning is displayed in the store preview header.

The default value is 1000.

IndexingMaximumLockTime
The maximum amount of time in minutes to allow a lock to be placed to an index.

The default value is 720.

IndexResultGrouping
This configuration defines which preprocessing query to use when processing attribute data. When set,
  1. It will disable rolling-up of defining attribute dictionary attribute values, from ItemBeans to ProductBeans.
  2. It will enable rolling down of descriptive attributes values from ProductBeans into their ItemBeans.
The default value is false.
MaximumThreadTimeForIndexing
The maximum amount of time in minutes each thread is allowed to use for indexing each core.

The default value is 120.

MultiThreadedIndexPreprocessing
Indicates that the preprocessor runs in multithreaded mode.

The default value is false.

In support of using the TRUNCATE statement when you preprocess the search index, the following parameters can be used:
DropTempTable
Indicates whether to drop tables when you preprocess the search index.
Passing in a value of false uses a TRUNCATE statement on the tables.
The default value is true, which uses a DROP statement on the tables.
Note: This parameter supports only DB2 9.7 or later, or Oracle databases.
TruncateTableSQL
Overwrites the default TRUNCATE table statement.
DynaCache invalidation for storefront cached content After a cache policy is defined in the cachespec.xml file for a JSP page, the following properties are used:
CacheInvalidationForCatalogEntry
The invalidation template for catalog entries. It contains 2 templates that are separated by a comma (,) by default.

The default value is ProductDisplay:productId:langId:$catEntryId$:$langId$,CategoryDisplay:categoryId:langId:$catGroupId$:$langId$

The first template invalidates all related Product Display pages.

The second template invalidates its immediate parent categories across all catalogs.

The following list identifies the predefined context variables that can be used in the CacheInvalidationForCatalogEntry invalidation template:
  • storeId
  • catalogId
  • catEntryId
  • catGroupId
  • langId
CacheInvalidationForCatalogGroup
The invalidation template for catalog groups. It contains 2 templates that are separated by a comma (,) by default.

The default value is CategoryDisplay:categoryId:langId:$catGroupId$:$langId$,TopCategoriesDisplay:langId:$langId$

The first template invalidates the Category Display for the current category and all its immediate parent categories across all catalogs.

The second template invalidates another related display, called TopCategoriesDisplay. TopCategoriesDisplay is typically used on the Home page where the affected category might be displayed.

The following list shows predefined context variables that can be used in the CacheInvalidationForCatalogGroup invalidation template:
  • storeId
  • catalogId
  • catGroupId
  • langId
CacheInvalidationForStoreHeader
The invalidation template for the store header. It automates cache invalidation for storefront cached content by using DynaCache during search reindexing.

The default value is StoreHeader:storeId:catalogId:$storeId$:$catalogId$

The following list shows predefined context variables that can be used in the CacheInvalidationForStoreHeader invalidation template:
  • storeId
  • catalogId
  • langId
CacheInvalidationForAll
CacheInvalidationForAll is a special cache invalidation operator for full cache invalidation. When the search run time determines that a full cache invalidation is necessary, and this value is set to clearall, this value is set into the CACHEIVL.DATA_ID column to request that all cache be cleared.
If this value is not set, or left as an empty string, full cache invalidation is not performed.
Note: To allow full cache invalidation to be performed through the DynaCacheInvalidationCmd scheduler command, ensure that enableRefreshRegistry=false is passed in as one of the job parameters.

The default value is clearall

CacheInvalidationDelay
The cache invalidation delay, in milliseconds, before cache invalidation begins after each search reindex.
The following items must be considered to determine an appropriate delay, in milliseconds, before the cache invalidation occurs after each search reindexing:
  • The time the next reindexing scheduler command is started
  • The approximate amount of time that the reindexing might take to complete
  • The next replication time between the production search index and the repeater
  • The approximate amount of time that the index replication might take to complete
Where the sum of the time estimates is equal to the approximate required delay time before cache invalidation can occur.

The default value is 120000

For more information, see Caching and invalidation in HCL Commerce Search.
Search Term Association
SynonymExpansionThreshold
The maximum number of synonym-expanded predicates that are allowed within each search operation.

The default value is 300.

Statistics
SearchStatisticsBatchInsertSize
The batch processing size for capturing search statistics, in number of cached entries.

The default value is 10000.

SearchStatisticsUpdateInterval
The time interval between batch processing updates, in seconds.

The default value is 600.

SearchStatisticsResultPagesTrackingThreshold
Track search rule statistics up to the specified search result page.

The default value is 1.

Special character handling To set escape patterns, ignore patterns, stop patterns, and request field values. Do not change these properties.
Facet management
allowedFacetPropertynames
The allowed table SRCHATTRPROP property name types to be displayed and managed in the Show Facets feature in the Management Center.
maximumFacetFieldsToRequest
The maximum number of facet fields to request in the FacetHelper. This number is configurable to avoid Solr URI length limit errors.

The default value is 200.

Search run time
BackCompatibleKeywordSearch
This configuration defines whether to use new relevancy keyword search function or use previous keyword search function. The default value is false.
To support deep category unpublish and deep search sequencing features, the following parameters can be used. For more information, see Hiding categories and products using deep category unpublish.
EnableDeepCategoryUnpublish
Enables the deep category unpublish feature.

The default value is false.

EnableDeepProductSequence
Enables the deep search sequencing feature.

The default value is false.

IndexPublishedOnly
Indexes only categories that are marked as published.

The default value is false.

Note:
Dynamic catalog entry recommendations
dynamicCatalogEntryRecommendation_searchProfile
This profile is the search profile that is used in the dynamic catalog entry recommendation configuration. The default value is IBM_findCatalogEntryWithoutDescriptionByNameAndShortDescription
Search profiles global defaults These properties act as the default value for all search profile settings and can be overridden by each individual search profile.
SearchProfilesDebug
Requests the search server to generate more debug messages.

The default value is false.

SearchProfilesPreview
Determines the level of detail for preview:
0
Minimal: Includes marketing rules.
1
Summary: Includes marketing rules and index status.

The default value is 1.

2
Detailed: Includes marketing rules, index status, and query explanations.
SearchProfilesPrice
Determines the display mode for showing prices in the storefront.
0: Computed:
  • Summary: Prices only for the current page are calculated at run time.
  • Hide price facets.
  • Show computed price and offer price ranges in the product display page.
  • Show computed price in each search result.
  • Show override price from extended sites store.
  • Hide price range search in the Advanced Search page.
  • Usage: Prices are not populated in the search index.
1: Indexed:
  • Summary: All prices are retrieved from the search index.
  • Show price facets with price ranges configured in the facet configuration table.
  • Show indexed price in product display page.
  • Show indexed price in each search result.
  • Show asset site store offer price.
  • Show price range search in the Advanced Search page.
  • Usage: Prices are populated in the search index.

The default value is 1.

2: Mixed:
  • Summary: Search results contain computed prices, while price facets use indexed prices.
  • Show price facets with price ranges configured in the facet configuration table.
  • Show computed price and offer price ranges in the product display page.
  • Show computed price in each search result.
  • Show override price from extended sites store.
  • Show price range search in the Advanced Search page.
  • Usage: Prices for all supported currencies are populated in the search index.
Important: When the price mode is set to 0 or 2, REST calls to the storefront will not automatically return price information. Even if set as the default, price modes 0 or 2 must also be declared in the REST call in order to retrieve price information. Use the GET query parameter priceMode={priceMode} in REST calls, where {priceMode} is {0} or {2}, when using these modes.
SearchProfilesStatistics
Requests the search server to capture search-related statistics in the run time.

When this option is enabled, statistical data is cached in memory until the batch size (defined as SearchStatisticsBatchInsertSize in the wc-component.xml file under ExtendedConfiguration) is reached.

This cache is done to minimize the amount of I/O traffic that is caused as a result of search statistics gathering.

The default value is false.

SkipSKULevelEntitlement
Configures the operation to skip the SKU entitlement level checking in the SearchCatalogEntryViewPriceResultFilter. You can set the following values for this property:
true
The operation skips the entitlement check.
false
The default value. The operation completes the entitlement check.
Inventory search index configurations
FilterInventoryByStoreAndFulfillmentCenter
The formula for retrieving inventory count by physical store by using the single-value indexing design.
1
Online store internal identifier.
2
Physical store internal identifier.
3
Range filter [%s TO %s].

The default value is inv_strlocqty_%s_%s:%s

Note: This function can be used only for single-value options on the inventory index.
OnlinePhysicalStoreQualifier
A static identifier for an online store that represents a virtual physical store field name in the search index. There is no actual physical store associated to an online store.
Note: This property is only needed when the DOM inventory model is used.

The default value is OnlineStore.

ConvertPhysicalStoreToFulfillmentCenter
This flag controls whether the identifier passed in through _wcf.search.store is a store location identifier and should be converted into a fulfillment center identifier to be used with the inventory search index.

For example, set this option to true when used with the non-ATP inventory model, or set this option to false when used with the DOM inventory model.

The default value is true.

IsStoreInventorySharingConfigured
This flag controls whether the non-ATP extended sites inventory is being shared or not.
When set to false, the extended site store ID is used to construct the inventory field.

When set to true, the configured RELATEDSTORE_ID set in the STOREREL with STRELTYP com.ibm.commerce.inventory is instead used.

For example, set this option to true when non-ATP inventory sharing is enabled, or set this option to false when it is disabled.

The default value is false.