Feature Pack 7 or later

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

The component configuration file (wc-component.xml) contains properties to configure various WebSphere Commerce search application features.
The component configuration file is stored in the following location:
Search_eardir/xml/config/com.ibm.commerce.component_name/wc-component.xml
The default component configuration file for the search application.
Search_eardir/xml/config/com.ibm.commerce.component_name-ext/wc-component.xml
The extended component configuration file for the search application.
To change the value of an existing property in the WebSphere Commerce search component configuration file, you must create a customized version of the file in this location. The customized version of the file must contain only the changed properties.

In the component configuration files, 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 tables summarize the types of configurable properties in the files. Refer to the comments within the file for more details:

Search properties in the catalog component configuration file

Section of catalog component configuration file that contains search properties Purpose of properties in the section
Start up
SearchServiceWarmStarter
Defines whether to allow the server to warm start the search registry and the Solr runtime.
The default value is true.
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. You do not need to change these properties.
Facet management
allowedFacetPropertynames
The allowed table SRCHATTRPROP propertyname 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.
displayLeafCategoriesOnly
Display only leaf category facets of keyword search. The parent-categories are not shown.
categoryFacetLimitForKeywordSearch
This configuration defines the limit value for category facets when a shopper performs keyword searches.
For category browsing, it uses the MAX_DISPLAY column of the FACET table to set the limit value.
skipFetchingFacetValueImageAndSequence
When set to 'true' this parameter prevents retrieval of facet value images and sequences from the database. This feature can be useful to customers who:
  • Have facetable attributes with many values,
  • Do not define explicit sequence for facet values, and
  • Have no need to display facet value images.
The default value is false.
Feature Pack 8Note: An interim fix for Feature Pack 8 is required to use this parameter. Apply interim fix JR53244.
useCategoryFacetDisplaySettingsForSearch
This parameter is used when searches occur in the context of a category. If set to 'true', faceted navigation attributes will be displayed according to their configuration for category navigation.
The default value is false.
Feature Pack 8Note: An interim fix for Feature Pack 8 is required to use this parameter. Apply interim fix JR51882.
Search runtime
BackCompatibleKeywordSearch
This configuration defines whether to use new relevancy keyword search function or use previous keyword search function. The default value is false.
QueryParameterReservedWords
This configuration defines a list of reserved words that can be used in the <query> section of each search profile.
Parameter names that are listed are not added to the SolrQuery object.
Feature Pack 8DisplayEntryWithNoName
Feature Pack 8This configuration allows product entries with no name to be displayed.
Feature Pack 8The default value is true.
Note: Disabling this configuration also disables language fallback support.
LimitDeepCategoryFacetValuesToImmediateChildrenOnly
When expanded category navigation is used, the category facets display a list of facet values of all immediate and not immediate child categories. When this configuration is set, the returned category facet values are limited to the immediate ones only of the selected category.
The default value is false.
Note: This parameter requires APAR JR53316.
uriPrefix
A list of URI prefixes to be skipped, so that the store path is not added to image URLs.
Note: The interim fix for APAR JR54703 is required to use this parameter.
IndexUnstructured
Disabled unstructured indexing when using Management Centre. If set to true, unstructured indexing will be performed. This setting improves the usability of the Management Center for business users, since performing unstructured indexing is time-consuming. When this property is enabled, unstructured content changes will not be visible until a manual indexing process is performed. The behavior can be overriden locally by reversing the property in the -ext directory.
The default value is false.
Feature Pack 7 or laterIn support of the 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.
Feature Pack 7Note: Interim fixes for Feature Pack 7 are required to use these parameters. Apply the latest cumulative interim fix for Feature Pack 7, JR52306.fep.
EnableDeepProductSequence
Enables the deep search sequencing feature.

The default value is false.

DisplayPublishedOnly
Allows only products from published categories to be displayed in the keyword search results when deep category unpublish is enabled.
The default value is false.
Note:
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.
  • 2: Detailed: Includes marketing rules, index status, and query explanations.
The default value is 1.
SearchProfilesStatistics
Requests the search server to capture search-related statistics in the WebSphere Commerce runtime.
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 capture 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.
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 for only 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. No actual physical store is 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 is 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.
Feature Pack 6 or laterIsStoreInventorySharingConfigured
Feature Pack 6 or laterThis flag controls whether the non-ATP extended sites inventory is being shared or not.
Feature Pack 6 or laterWhen set to false, the extended site store ID is used to construct the inventory field
Feature Pack 6 or laterWhen set to true, the configured RELATEDSTORE_ID set in the STOREREL with STRELTYP com.ibm.commerce.inventory is instead used.
Feature Pack 6 or laterFor example, set this option to true when non-ATP inventory sharing is enabled, or set this option to false when it is disabled.
Feature Pack 6 or laterThe default value is false.
Feature Pack 6Note: This parameter requires APAR JR49630.
Spell correction
SpellCheckAccuracy
This setting is used for Defines the Solr spellcheck parameter, spellcheck.accuracy.
This parameter defines an accuracy value to be used by the spell checking implementation to decide whether a result is worthwhile or not.
This is a precision that must be achieved for the suggestion to be counted as proper one.
The default value is the value of Float.MIN_VALUE.
SpellCheckMaxResultsForSuggestion
This setting is used for Defines the Solr spellcheck parameter, spellcheck.maxResultsForSuggest.
This parameter defines the maximum number of results the query can return while still triggering spelling suggestions (and collations, if you use spellcheck.collate).
Suggestions are not generated if the query returns more results than this value.
When you use spellcheck.extendedResults, this value is also the threshold for determining whether the correctlySpelled flag is false.
If spellcheck.maxResultsForSuggest is not specified, the default behavior is to generate suggestions and to report correctlySpelled as false, if at least 1 term is not in the index, regardless of the number of results returned.
This parameter is especially useful with spellcheck.alternativeTermCount to generate Did You mean?-style suggestions for low hit-count queries.
SpellCheckAlternativeTermCount
This setting is used for Defines the Solr spellcheck parameter, spellcheck.alternativeTermCount.
This parameter defines the maximum number of suggestions to return for terms that exist in the index. Specifying this parameter instructs the spellchecker to try to make suggestions for every term in the query.
This parameter differs from the spellcheck.onlyMorePopular option in that suggested terms do not need to be more popular.
SpellCheckOnlyMorePopular
This setting is used for Defines the Solr spellcheck parameter, spellcheck.onlyMorePopular.
This parameter returns only the suggestions that result in more hits for the query than the existing query.
Note: Even if the query term is correct, a more popular suggestion is returned (if one exists).
SpellCheckMaxCollations
This setting is used for Defines the Solr spellcheck parameter, spellcheck.maxCollations.
This parameter defines the maximum number of collations to return.
The default value is 1.
SpellCheckMaxCollationTries
This setting is used for Defines the Solr spellcheck parameter, spellcheck.maxCollationTries.
This parameter defines the maximum number of collation possibilities to try before giving up. Lower values ensure better performance. Higher values might be necessary to find a collation that can return results.
The default value is 0 (do not check collations).
SpellCheckCollatedResultsOnly
When set, only spell corrections that are originated by the collation query are returned in the REST response. Otherwise, both collation query suggestions and none collation query suggestions are returned. Collation query suggestions do take into account filter queries and guarantee that collations return results if rerun by the client.
The default value is false.
Note: This parameter requires APAR JR54001.
SpellCheckQueryOperator
The operator used when setting the spellcheck.q value when multiple word phrases are used as search terms. Possible values are either OR, AND. Other values are ignored. When using a searchType value that maps to an AND operator in the main query, for example, 1002, you should typically set the SpellCheckQueryOperator value to AND.
Note: Using the OR operator relaxes the conditions to find spell check corrections, while using AND will produce fewer or no spell check corrections.
The default value is OR, if no value is set.
Note: This parameter requires APAR JR54247.
Value mapping service A value mapping service to resolve the relationship configuration between external and internal keys of business objects. The purpose of this service is to retrieve value mapping between external and internal values of business objects.
SearchControlParameterMapping
Defines the relationship between REST URL parameters and their corresponding internal name that is used in the SearchCriteria object. These control parameters in the SearchCriteria object are later used in the expression providers for processing.
SearchIndexReturnFieldMapping
Defines the relationship between return field name that is used in REST URL parameter, returnFields, and their corresponding internal index field name in the search index.
XPathToCatalogEntryFieldNameMapping
Defines the mapping from an XPath to its corresponding internal index field name used in the CatalogEntry search index.
XPathToCatalogEntryViewBODResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields used in the CatalogEntry search.
XPathToCatalogEntryViewResponseFieldNameMapping
Defines the mapping from the search index field name to its corresponding search response field name.
XPathToPriceBODResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the price section that is used in the CatalogEntry search.
XPathToPriceResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the price section that is used in the CatalogEntry search.
XPathToAttachmentsBODResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the attachments section that is used in the CatalogEntry search.
XPathToAttachmentsResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the attachments section that is used in the CatalogEntry search.
XPathToAttributesBODResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the attributes section that is used in the CatalogEntry search.
XPathToAttributesResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the attributes section that is used in the CatalogEntry search.
XPathToAttributesValuesBODResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the attributes section that is used in the CatalogEntry search.
XPathToAttributesValuesResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the attributes section that is used in the CatalogEntry search.
XPathToComponentsBODResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the components section that is used in the CatalogEntry search.
XPathToComponentsResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the components section that is used in the CatalogEntry search.
XPathToMerchandisingAssociationsBODResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the merchandising Associations section that is used.
XPathToMerchandisingAssociationsResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields for the merchandising Associations section that is used.
XPathToBreadCrumbTrailResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields found in in the BreadCrumbTrailEntryView section.
XPathToFacetResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields found in in the FacetView section.
XPathToCatalogGroupFieldNameMapping
Defines the mapping from an XPath to its corresponding internal index field name used in the CatalogGroup search index. These mappings are used by the expression providers.
XPathToCategoryViewResponseFieldNameMapping
Defines the mapping from the search index field name to its corresponding search response field name.
XPathToCategoryViewBODResponseFieldNameMapping
Defines the mapping from the search index field name to its corresponding search response field name.
XPathToWebContentViewBODResponseFieldNameMapping
Defines the mapping from the search index field name to its corresponding search response field name.
WebContentTypeMapping
Defines web content internal metadata.
STAAssociationType
Defines search term association internal metadata.
CatalogEntryUserDataFieldNameMapping
Defines the mapping from a custom index field name that is used in the CatalogEntry search index to the field name used in the UserData area in the REST response.
CatalogGroupUserDataFieldNameMapping
Defines the mapping from a custom index field name that is used in the CatalogGroup search index to the field name used in the UserData area in the REST response.
Relevancy
MaximumSlop
Limits the maximum distance between the location of words that appear in the documents to 100 words, so that the document is boosted as more relevant.
The default value is 100.
MinimumMatch
Describes the search relevancy rules. A number denotes the number of query keywords to match. A number that is formulated with a percentage denotes that a percentage of the query keywords must match. For example:
  • 1 denotes that at least one query keyword must match.
  • 2<80% 6<50% denotes that when there are fewer than 3 keywords, both of the keywords must be found in the document. When there are 3 - 6 keywords, 80% of the keywords must be found in the document. When there are more than 6 keywords, 50% of the keywords must be found in the document.

    For example, if a shopper searches for 3 keywords, 80% of the 3 keywords equals 2.4. Rounded down, results that match at least 2 of the 3 entered keywords are returned.

For more information, see Minimum Number Specification Format.
The default value is 1.
Note: The MaximumSlop and MinimumMatch parameters are retrieved in the following order:
  1. Check whether they are defined in the URL.
  2. Check at the search profile level in the wc-search.xml file.
  3. Check at the parameter level in this file.
TieBreaker
This value is a constant for the tie breaker parameter that is used by the dismax query parser. Valid values are between 0.0 and 1.0.
A value of 0 makes the search engine use the score of the field with the maximum score and ignore the scores from all other fields.
A value of 0.1 and above, scores from all matching fields are considered when calculating the document's final relevancy score.
Feature Pack 7Feature Pack 5Feature Pack 6The default value is 0.
Feature Pack 8The default value is 0.1
categoryBasedSearchRelevancyBoostFactor
This boost factor is applied to boost a category that contains the shopper’s search term in its keyword field in the Management Center. This parameter only applies when business users specify boost factors.
Suggestions
LimitKeywordSuggestionsToStoreAndCatalog
Controls whether the suggested keywords are limited to the specified store and catalog (store path enabled), or suggested keywords are originated from the master catalog.
When set to true, a wc-conditionalCopyFieldChain custom copyField function that is defined in the CatalogEntry solrconfig.xml file is used to conditionally copy fields. The fields are copied into a dynamic spellCheck field that consists of store and catalog IDs, and includes only the content where the specified conditions are met.
When set to false, you must update the CatalogEntry schema.xml file and uncomment the copyField statement from the spellCorrection field to the default spellCheck field. Then, the wc-conditionalCopyFieldChain can be disabled by either commenting out the wc-conditionalCopyFieldChain, or set its enabled property to false.
For example, spellCheck_10152_10051, where 10152 is the store ID, and 10051 is a sales catalog.
The default value is true.
SearchBasedKeywordSuggestions
When set, keyword suggestions that are returned by the keywordSuggestionsByTerm siteContent REST API are based on keyword searches by using the search query component. The IBM_findNavigationSuggestion_Keywords search profile is used to construct the query. Otherwise, the default TermsComponent is used. Suggestion based on search queries can take into account different filters such as store, catalog, entitlement, and catalog entry type. In contrast, suggestions by the TermsComponent are generated from all of the indexed documents.
More properties that are evaluated when set to true are SearchBasedKeywordSuggestionsMaxShingleSize and SearchBasedKeywordSuggestionsSortByFrequency.
The default value is false.
1
Pricing
MultipleContracts
Defines the operation between multiple contracts.
If the operation is AND, the expression among multiple contracts is wrapped with +.
Otherwise, multiple expressions are wrapped with a space.
The default value is an OR operation.
Search rules
CombineFilterRuleWithProductSequencing
This configuration defines whether to allow search rules with filtering conditions to work with product sequencing during category navigation.
When enabled, search rules for all keywords can be used for category navigation and products that are returned are ordered according to their sequence defined at that category.
The default value is false.
Limitation: Because sorting overrides ranking at runtime, search rules with boosting and relevancy ranking criteria are ignored. Only search rules with filtering conditions can be used with product sequencing.
Note: To trigger search rules for all keywords during category navigation, a search term with * are added to the browse query request.
LocalTransactionCache The local transaction cache holds cache entries in memory during a single database transaction.
enabled
Enables local transaction caching. Specify false to turn off the feature.
Do not turn off local transaction caching, except as part of problem determination.
Note: Never turn off local transaction caching without also turning off cross transaction caching.
maxSize
The maximum number of cache entries that can be remembered during a transaction.
Each cache entry remains in memory until the current transaction completes. A long running transaction that creates too many cache entries can run out of memory.
When the specified limit is reached, the transaction cache stops creating cache entries for the remainder of the current transaction. This setting prevents an out of memory condition.
maxInvalidationldsPerTransaction
The maximum number of cache invalidation operations that can be run in a single transaction.
Knowledge of each invalidation operation that is executed must be retained during the current transaction. A long running transaction that executes too many invalidation operations can run out of memory.
When the specified limit is reached, the entire transaction cache is cleared and knowledge of individual invalidation operations is removed from memory. This setting prevents an out of memory condition. Use of the cross transaction cache is suspended for the remainder of the transaction. All cache entries are considered to be invalidated for the remainder of the transaction.

Search properties in the foundation component configuration file

Section of catalog component configuration file that contains search properties Purpose of properties in the section
Cross Transaction Cache
enabled
Enables cross transaction caching. Specify false to turn off the feature.
commandCaching
On forces, the cross transaction cache to use command caching in the default baseCache DistributedMap.
Off prevents the cross transaction cache from using command caching.
The default setting uses DistributedMap caching when the corresponding DistributedMap is found by using its JNDI name, and otherwise uses command caching in the default DistributedMap.
maxInactivityTime
The number of seconds after which an inactive cache entry is removed from the cache due to inactivity.
maxTimeToLive
The number of seconds after which a cache entry expires and is removed from the cache.
defaultResultSizeThreshold
When the size of the collection of objects to be cached in a cache entry exceeds the specified threshold value, dependency IDs are generated by using table names.
To reduce the number of dependency IDs generated for the cache entry, column names and values are not used.
clearUserOnLogoff
Specify false if DC_userid:nnnn invalidation IDs are not to be sent to the baseCache when the user with user IDnnnn logs off.
clearUserDataCacheOnLogoff
Specify true if data cache entries specific to a particular user are removed from the cache when the user logs off.
maxInvalidationldsPerTransaction
The maximum number of cross transaction cache invalidation operations that can be run in a single transaction.
Knowledge of each invalidation operation run must be retained during the current transaction. A long running transaction that runs too many invalidation operations can run out of memory.
When the specified limit is reached, no further invalidationIDs are remembered for the cross transaction cache for the remainder of the current transaction.
When the transaction completes, the action that is specified by the clearCacheOnMaxInvalidationIdsPerTransaction configuration is taken.
clearCacheOnMaxInvalidationIdsPerTransaction
The action when the maximum number of cross transaction cache invalidation operations, which are specified by the maxInvalidationIdsPerTransaction element, is exceeded.
Specify true to clear the entire cross transaction cache after the current transaction ends.
When this element is set to false, invalidations are issued immediately and are not remembered until the end of the current transaction.
This setting leaves a small window of time during which stale data can be placed into the cache.
reduceMemory
Specify true to reduce the memory footprint of the cross transaction cache.
reduceInvalidationIds
Specify true to reduce the number of invalidation messages that are issued when cached data changes in the database.
Systems with many WebSphere Commerce application server JVMs might benefit from this setting. However, some over-invalidation might occur. Measure the overall performance impact before you choose this setting for a production system.
sizeable
Specify true to implement the com.ibm.websphere.cache.Sizeable interface for most cache entries that are used by the following WebSphere Commerce object caches:
  • services/cache/DM_Cache (Marketing cache)
  • services/cache/DM_UserCache (Marketing user behavior cache)
  • dmap/IVCache (External Inventory availability cache)
  • dmap/PriceCache (External Price cache)
  • services/cache/WC*DistributedMapCache (all the data cache object cache instances)
Specifying true also implements the com.ibm.websphere.cache.Sizeable interface for most cacheable commands that are used by default by WebSphere Commerce.
This setting does not implement the com.ibm.websphere.cache.Sizeable interface for the Price Rule cache, nor does it implement the interface for Sales Center cacheable commands.
searchRulesCacheMode
Specifies the mode of caching for search rule data. The mode is a bitmap. You can use the following values for this property:
  • 0: Caching for search rules is disabled.
  • 1: Cache terms with search rules.
  • 2: Cache the result of search rules.
  • 3: Cache both terms with search rules and the result of search rules.
maxTimeToLiveForAutoCacheEntries
Returns the maximum number of seconds until an auto cached entry expires from the cache. A zero value indicates that no auto cache entries are be created. A negative value indicates that there is no special limit for auto cache entries.
Note: Use only a negative value for debugging purposes.
autoCacheableTableNames
Defines a list of table names for auto cache.
Result sets from these database tables are cached by using the JDBCQueryService. Try to minimize the use of this configuration to avoid over-caching.
notAutoCacheableTableNames
Defines a list of table names that should not be used for auto cache.
invalidationJobInterval
Specifies the frequency (in seconds) the cache invalidation framework should periodically query the CACHEIVL database table for pending invalidation events.
This setting, when combined with maxSeconds parameter in invalidationJobParameters, can be used to determine how quickly cache invalidation events are processed on the search server.
The default invalidation technique that is used on the search server occasionally requires an incoming search request to devote a configurable portion of its processing time to perform cache invalidation. That is, when there are pending invalidation events in the CACHEIVL table. This results in each search server instance becoming responsible for invalidation of its own local cache instances.
To synchronize the latest indexed data that is cached on the search server, the expected amount of time delay for the cache to be invalidated might take more than 3 times the value of the invalidationJobInterval parameter, in seconds, immediately after the search re-indexing task is completed. This delay might be longer when the number of pending invalidation events in the CACHEIVL table exceeds the number that can be processed in the time that is allowed by the maxSeconds parameter.
When you are working with cached JSP fragments on the WebSphere Commerce server, the expected time delay for related cached content to be invalidated might be as long as the length of the DynaCacheInvalidation scheduler job time interval, plus the value of the search server cache invalidation time delay.
Note: Setting invalidationJobInterval to -1 indicates that the search server does not query the CACHEIVL table. Instead, some other method of receiving cache invalidation events, such as Domain Replication Services, is used.
invalidationJobParameters
Specifies the parameters when you are running the invalidation job.
For example, localJVMOnly=true&maxSeconds=1&maxSecondsPerTransaction=0&enableRefreshRegistry=false.
1 You must apply the interim fix for APAR JR53912 to use this property.