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.
- FacetPageSize
- The 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
0 to sort following Management
Center sequence.
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 .
- maxTimeAllowed
- 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.
|
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 .
|
CrossTransactionCache |
- 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.
|
com.ibm.commerce.datatype.CacheEntryLock |
- threshold
- Specifies the number of threads that can concurrently
wait for a CacheEntryLock. Threads in excess of this
number cannot obtain the lock. The default value is 20
threads.
- maxWaitSeconds
- Specifies the maximum number of seconds a thread will
wait for a CacheEntryLock. Threads that wait more than
the specified number of seconds cannot obtain the lock.
The default value is 30 seconds.
|
com.ibm.commerce.datatype.HCConcurrencyLimiter |
- com.ibm.commerce.datatype.HCConcurrencyLimiter.com.hcl.commerce.search.internal.config.RestHighLevelClientHelper.request/capacity
- Specifies the maximum number of concurrently executing
request execution threads that are able to issue REST
requests to an Elasticsearch server. Threads in excess
of this number must wait in a limited capacity queue,
or, if the queue is full, fail with HTTP return code
429 ("Too Many Requests") . The
default value is 40 threads.
- com.ibm.commerce.datatype.HCConcurrencyLimiter.com.hcl.commerce.search.internal.config.RestHighLevelClientHelper.request/maxWaiters
- Specifies the maximum number of threads that can wait to
be able to issue REST requests to an Elasticsearch
server. When this maximum is reached, request threads
fail with HTTP return code
429 ("Too Many
Requests") . The default value is
10 waiting threads.
- com.ibm.commerce.datatype.HCConcurrencyLimiter.com.hcl.commerce.search.internal.config.RestHighLevelClientHelper.request/maxTransactionTimeMilliseconds
- Specifies the maximum number of milliseconds for which a
request execution thread that is waiting to be able to
issue REST requests to an Elasticsearch server can
execute. Threads whose execution time exceeds this limit
fail with HTTP return code
429 ("Too Many
Requests") . The default value is
60000 milliseconds (one
minute).
- com.ibm.commerce.datatype.HCConcurrencyLimiter.com.hcl.commerce.search.internal.config.RestHighLevelClientHelper.call/capacity
- Specifies the maximum number of threads that can
concurrently issue REST requests to an Elasticsearch
server. Threads in excess of this number must wait until
the number of threads concurrently issuing REST requests
to an Elasticsearch server drops below this limit. The
default value is
15 threads.
- com.ibm.commerce.datatype.HCConcurrencyLimiter.com.hcl.commerce.search.internal.config.RestHighLevelClientHelper.call/maxTransactionTimeMilliseconds
- Specifies the maximum number of milliseconds for which a
request execution thread that is able to issue REST
requests to an ElasticSearch server can execute. Threads
whose execution time exceeds this limit fail with HTTP
return code
429 ("Too Many Requests") .
Specify a value larger than the corresponding "request"
value to give preference to threads that are able to
issue REST requests to an Elasticsearch server. The
default value is 180000 milliseconds
(three minutes).
|
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.
|
Color swatch |
- Keyword search (default - enable)
- The product card will display all of the color swatches
that belong to the parent product when
ReturnUnavailableAttributeValueForKeywordSearch
is enabled. This will search the product using a keyword
search that includes color.
- Before:
- After:
- Category browse (default - disable)
- The product card will display all of the color swatches
that correspond to the parent product when
ReturnUnavailableAttributeValueForBrowsing
is enabled and color is chosen from the color facet
during category browse.
- Before:
- After:
- To enable the flag
-
POST /search/resources/api/v2/configuration?nodeName=component&envType=auth
{
"extendedconfiguration": {
"configgrouping": [
{
"name": "SearchConfiguration",
"property": [
{
"name": "ReturnUnavailableAttributeValueForKeywordSearch",
"value": "true"
}
]
}
]
}
}
{
"extendedconfiguration": {
"configgrouping": [
{
"name": "SearchConfiguration",
"property": [
{
"name": "ReturnUnavailableAttributeValueForBrowsing",
"value": "true"
}
]
}
]
}
}
|