Search configuration properties in the STORECONF table

The STORECONF table contains properties to configure various WebSphere Commerce Search application features.


Configurable properties for search

In the STORECONF table, we can configure the following search-related properties. When you change the value for a property in the STORECONF database table, we are updating the NAME column with the specified search propert. The VALUE column is also updated, with the specified updated setting for the specified STOREENT_ID. We must restart your WebSphere Commerce Search server to apply our changes.

Search property Purpose of property
wc.search.priceMode This property determines the display mode for showing prices in the storefront.We 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 using these modes.

Note:

  • If we 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 we are changing the price mode to 0 or 2:

    1. Locate the extended wc-search.xml file.

    2. 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.

    See Displaying price ranges in the storefront.

  • If we are changing the price mode to 2:

    Set up a dedicated thread pool to manage communications between the server and the Search server. Without a dedicated thread pool, browser sessions may hang due to communications deadlocks between the servers.

Default is 1 (Indexed).

wc.search.priceMode.compatiblePriceIndex This property determines the indexed price mode when prices are indexed.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
    The price column is indexed from the standard offer price, following 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.We can set the following values for this property:

    0
    Entitlement is disabled.

    1
    Entitlement is enabled.

Default is 0 (Entitlement is disabled).

Note: To enable the 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 WebSphere Commerce Search, instead of relying on the values in the preceding configuration files. Stores can prioritize prices in the following order:

  1. By passing in the search profile in the store URL. This flag receives the highest priority.

  2. 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.

  3. By setting the wc.search.priceMode property in the STORECONF table. 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.

  4. By using the site-level setting as a fallback. Indexed mode is used by default.