wc.search.priceMode |
This property determines the display mode for
showing prices in the storefront.You can set the following
values for this property:
- 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 computed price and price ranges on the
category display page.
- 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 that are
configured in the facet configuration table.
- Show indexed price in product display
page.
- Show indexed price in each search result.
- Show price range search in the
Advanced Search page.
- Usage: Prices are populated in the search
index.
- 2
- Mixed:
- Summary: Search results contain computed
prices, while price facets use indexed
prices.
- Show price facets with price ranges that are
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 computed price and price ranges on the
category display page.
- 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 do 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 you use these modes. Note:
- If you
are using price mode as 1:
When the
indexed price mode is set
(wc.search.priceMode=1 in the
STORECONF table), all the catalog
search and browsing pages, including the product
display page use the indexed price. If the
contract price is indexed, the pages use the
indexed contract price. However, all the checkout
pages, including the shopping cart pages, use the
price commands to calculate real-time
pricing.
- If you are changing the price mode to 0 or 2:
- Locate the extended wc-search.xml file.
- To enable the calculated price features, update the extended wc-search.xml
file to include the following
changes.
<_config:profile name="IBM_findProductsByCategory" indexName="CatalogEntry">
<_config:query inherits="true">
<_config:postprocessor
classname="com.ibm.commerce.foundation.server.services.rest.search.postprocessor.solr.SolrRESTSearchCatalogEntryViewSKUQueryPostprocessor"/>
<_config:postprocessor
classname="com.ibm.commerce.foundation.server.services.rest.search.postprocessor.solr.SolrRESTSearchCatalogEntryViewComponentsQueryPostprocessor"/>
</_config:query>
<_config:result inherits="true">
<_config:field name="components"/>
</_config:result>
</_config:profile>
These
postprocessors are disabled by default for performance considerations. The following sections
describe why they are needed for calculated price modes: The
SolrRESTSearchCatalogEntryViewSKUQueryPostprocessor is required so that SKUs are
retrieved from Solr in the same request as products in search results. For
example, when you view search results in grid mode, it enables price ranges to be displayed for all
SKUs and contracts. When you view search results in list mode, it enables products with a single SKU
the ability to be added to the shopping cart.
For more
information, see Displaying price ranges in the storefront.
The default value is 1
(Indexed). |
wc.search.priceMode.compatiblePriceIndex |
This property determines the indexed price
mode when prices are indexed. Note: You can
only set the value of 1.0 to this property. The price column
is indexed from the contract price, following the naming
convention:
price_#currency_#contractId . You can
set the following values for this property:
- 1.0
- The price column is indexed from the contract
price, following the following naming convention:
price_#currency_#contractId .
- 1.1
- Solr-Search only: The price column is indexed
from the standard offer price, using the following
naming convention:
price_#currency . Note: The value of 1.1 is no longer
supported as the value of 1.0 when used with the
default contract can achieve the same thing. The
meaning of 1.1 is that the price column is indexed
from the standard offer price, using the following
naming convention:
price_#currency .
Note: Only the store-level
setting applies for the
compatiblePriceIndex property when
the store prioritizes price mode
settings. |
wc.search.entitlement |
This property determines the entitlement check
for the B2B and B2C business models.You can set the following
values for this property:
- 0
- Entitlement is disabled.
- 1
- Entitlement is enabled.
The default value is 0
(Entitlement is disabled). Note: To enable your store to
use catalog filters that are created with the catalog Filter
and Pricing tool, the value for the
wc.search.entitlement property must be
set to 1 . |
wc.search.storeconf |
Prioritized price mode settings for store
Different stores can use different price modes in HCL Commerce Search, instead of relying on the values
in the preceding configuration files.
Stores can prioritize prices in the following order:
- By passing in the search profile in the store URL.
This flag receives the highest priority.
- By specifying the search profile in the search
request. That is, any search request can contain a
price mode and entitlement check, for business or
performance considerations.
- By setting the wc.search.priceMode property
in the STORECONF table. For more information, see
Search
configuration properties in the STORECONF
table. The STORECONF table is storepath
enabled. For example, by default B2B stores use the
calculated price mode, while B2C stores use the
indexed price mode. Extended sites inherit the asset
store configuration.
- By using the site-level setting as a fallback.
Indexed mode is used by default.
|