HCL Commerce Version 9.1.7.0 or later

Component configuration properties

The following table summarizes the types of component configuration properties.

Property name Property purpose
Handling special characters To set escape patterns, ignore patterns, stop patterns, and request field values. You do not need to change these properties.
Facet management
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.
HCL Commerce Version 9.1.9.0 or laterFacetPageSize
HCL Commerce Version 9.1.9.0 or laterThe maximum number of facets to be returned in the response. The default value is 1000.
TopCategorySortOrder
You can separately define how items are to be sorted in the left navigation window and top drop-down menu. For example, a customer might want to sort categories in the top menu by sequence, and separately configure facets in the left navigation window alphabetically. The supported values are
  1. 0 to sort following Management Center sequence.
  2. 1 to sort alphanumerically, based on item names.
The default value is 0.
Search runtime
ResponseTemplateDefault
Defines the default behavior of the REST response transformation. For compatibility with an earlier version, use 0, so that the response data structure can closely assemble to the BOD-like structure to minimize storefront migration impact. Supported values are:
  • -1 does not use any transformation and only returns raw data.
  • 0 uses the noun structure as a template.
  • 1 uses the REST service structure as a template.
The default value is 0.
DisplayEntryWithNoName
This configuration allows product entries with no name to be displayed.
The default value is true.
Important: To be effective, this parameter must be updated in the wc-component.xml configuration files of both the WC and Search EAR.
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.
HCL Commerce Version 9.1.10.0 or latermaxTimeAllowed
Allows you to set the Elasticsearch search query timeout in the Query service globally, through a configuration endpoint. This removes the need to declare maxTimeAllowed in each profile. The parameter can still be set through profiles, and when declared in a profile will have higher precedence over the global declaration through the configuration endpoint.
The default value is 15 seconds.
uriPrefix
A list of URI prefixes to be skipped, so that the store path is not added to image URLs.
The following parameters support the deep category unpublish and deep search sequencing features. For more information, see Hiding categories and products using deep category unpublish.
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:
  • More parameters that are related to deep category unpublish and deep search sequencing features are in the wc-component.xml file on the HCL Commerce EAR. For more information, see Search properties in the component configuration file (wc-component.xml).
  • Deep category unpublish parameters are ignored when the feature is disabled (EnableDeepCategoryUnpublish=false on the HCL Commerce EAR).
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.
Spell correction Configurable parameters in wc-component.json:
SpellCheckAccuracy
The similarity of the suggested terms. How similar the suggested terms at least need to be compared to the original suggest text tokens. A value between 0 and 1 can be specified. Default value is 0.3.
SpellCheckPrefixLength
Refer to prefix_length option description in the Elasticsearch documentation. Default value is 2.
SpellCheckSuggestionMode
Refer to suggest_mode option description in the Elasticsearch documentation. Default value is MISSING.
SpellCheckSortBy
Refer to sort option description in the Elasticsearch documentation. Default value is SCORE.
SpellCheckStringDistance
Refer to string_distance option description in the Elasticsearch documentation. Default value is INTERNAL.
SpellCheckMaxEdits
Refer to max_edits option description in the Elasticsearch documentation. Default value is 2.
SpellCheckMaxInspections
Refer to max_inspections option description in the Elasticsearch documentation. Default value is 5.
SpellCheckMaxTermFrequency
Refer to max_term_freq option description in the Elasticsearch documentation. Default value is 0.01.
SpellCheckMinWordLength
Refer to min_word_length option description in the Elasticsearch documentation. Default value is 4.
SpellCheckMinDocFrequency
Refer to min_doc_freq option description in the Elasticsearch documentation. Default value is 0.0.
Configurable parameters in search profile:
limit
Specifies the number of spell check correction suggestions to be returned at the storefront.
Note: To learn more about search profile, refer to Setting up your custom search profile
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 its 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 the BreadCrumbTrailEntryView section.
XPathToFacetResponseFieldNameMapping
Defines the mapping from internal index fields to its corresponding external response fields found 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.
Suggestions
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 account for 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.
SearchBasedKeywordSuggestionsMaxShingleSize
Determines the number of tokens that are used to construct a single suggestion. It is only evaluated when SearchBasedKeywordSuggestions is set to true. The default value is 3.
SearchBasedKeywordSuggestionsSortByFrequency
Determines the sort order of the Search Based Keyword Suggestions. It is only evaluated when SearchBasedKeywordSuggestions is set to true. The default value is true.
B2B contracts
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 set to true, 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.
Cross Transaction Cache
enabled
Enables cross transaction caching. The default value is true. Specify false to turn off the feature.
avoidConcurrentCacheMiss
Avoids multiple threads from concurrently processing a cache miss for the same cache entry. It does this by obtaining a CacheEntryLock before processing the cache miss. If the lock cannot be obtained, the cache miss may be processed concurrently. The default value is true. Specify false to turn off the feature.
prohibitConcurrentCacheMiss
Prevents multiple threads from concurrently processing a cache miss for the same cache entry. It does this by obtaining a CacheEntryLock before processing the cache miss. If the lock cannot be obtained, the current request fails with HTTP return code 429 ("Too Many Requests"). The default value is true. Specify false to turn off the feature.
maxInactivityTime
Specifies the number of seconds a cache entry can remain inactive in a local cache before it is removed. The default value is zero (no limit). A value of -1 indicates one day.
maxTimeToLive
Specifies the number of seconds a cache entry can remain in the cache before it is removed. The default value is -1 (which indicates 172,800 seconds or 2 days).
authoringMaxTimeToLive
This setting has no effect for a server running in a live environment. Otherwise, it overrides the maxTimeToLive setting. The default value is five seconds.
NLPSearchFieldMapping Used for Name Entity Recognition (NER) operations. Apart from the default entities for NER in the Stanford CoreNLP Natural Language Processor, you can also add custom language specific nouns and classifications for NER. The custom noun and classification for NER can be configured in the Zookeeper filter node.
  • New nouns and classifications are added using the POST request method.
  • Existing nouns and classifications are updated using the PATCH request method.
  • You can create a custom NER tag mapping via the /configuration endpoint, using the PATCH method and a request body containing a JSON-formatted tag definition.
Each request extends one NLPSearchFieldMapping object, and you can only map to product index fields. A complete description of the NER extension mechanism can be found in Adding custom nouns and classifications to NLP Name-Entity-Recognition (NER).
NLPPOSCodes Search tokens are tagged according to their part-of-speech (POS). Terms that are not tagged as a recognized type will be ignored, but you can extend the part-of-speech logic to accommodate new types using the NLPPPOSCodes endpoint. For more information, see Adding part-of-speech tags.
ElasticQueryStringConfigParameter This configuration is use by the Query service to generate the final Elasticsearch query. The following properties are supported by the Query service for changing the time of Elasticsearch query generation. The values for the properties can be changed through the /configuration endpoint.
type
This property is used to determine how the query can be matched and calculates the score of documents. The default value in the Query service is most_fields.
  • best_fields
  • bool_prefix
  • cross_fields
  • most_fields
  • phrase
  • phrase_prefix
For more information, see Query string query. in the Elasticsearch documentation.
default_operator
Default boolean operator used while interpreting the query string. The default value in the Query service is AND. Supported values are AND and OR.
lenient
This property can be used to ignore the format base error while executing the Elasticsearch query. Supported values are TRUE and FALSE. The default value in the Query service is TRUE.
escape
This property automatically escapes characters while executing the Elasticsearch query. Supported values are true and FALSE. The default is false.
Use the following endpoint to update the value, sending a POST on first usage, then PATCH in subsequent calls to the /configuration endpoint.
 http://dataQueryHost:dataQueryPort/search/resources/api/v2/configuration?nodeName=component&envType=auth
Use the following JSON code as the body of the request.
{
    "extendedconfiguration": {
        "configgrouping": [
            {
                "name": "ElasticQueryStringConfigParameter",
                "property": [
                    {
						"name": "type",
						"value": "most_fields"
					},
					{
						"name": "default_operator",
						"value": "and"
					},
					{
						"name": "lenient",
						"value": "true"
					},
					{
						"name": "escape",
						"value": "false"
					}
                ]
            }
        ]
    }
}
Restart the Query service after applying this configuration.
RestParameterSetting
addResourceId
Specify false to remove resourceId from the REST Call. Default is true.
SearchConfiguration
ReturnNonDisplayableAttributes
To enable non-displayable attributes in the API response, the ReturnNonDisplayableAttributes property should be set to true.

Non-displayable attributes will not be returned in the response by default since their default value in wc-component.json is false.

For example,

URL: {{baseUrl}}/api/v2/configuration?nodeName=component&envType=auth

Method: POST/ PATCH

RequestBody :

{
    "extendedconfiguration": {
        "configgrouping": [
            {
                "name": "SearchConfiguration",
                "property": [
                    {
                        "name": "ReturnNonDisplayableAttributes",
                        "value": "true"
                    }
                ]
            }
        ]
    }
}

Restart the Query-service Docker container once this configuration is added.