Enabling interim fix JR53113

If your site uses catalog filters created using Data Load, and you have migrated from Feature Pack 1 to 6, to Feature Pack 8; then set up and configure the search index.

Before you begin

  1. Install the interim fix for APAR JR53113.

About this task

Starting in Feature Pack 7, browsing and searching as non-transactional requests were offloaded to the dedicated search server. As a result, the WebSphere Commerce server acts as a transaction server, and the search server acts as a non-transactional server that can be separately deployed and scaled. Entitlement was moved to the search server to apply entitlement checks before and after search results are returned in the storefront.

The EXPRESSSION table was created to separate entitlement. It has the following characteristics and behavior:
  • When catalog filters are created or imported using data-loaded, or assigned to a contract on the WebSphere Commerce server, the catalog filter service is called to precompile the Solr-based filter query expression into the table. The EXPRESSION table is cached in the search server runtime, with the key of the associated contract. As a result, the cached expression can be reused on the search server, instead of calculating filter query expressions by calling the catalog filter service. When an entitled contract is validated on the search server, the associated expression is retrieved from search server cache.
  • The EXPRESSION table is regenerated when the final filter query expression changes. For example, when a catalog filter or the relationship to a contract changes. The data cache on the search server is invalidated to refresh the changes.
  • The EXPRESSION table supports member group-level entitlement, to apply different entitlement levels to different member groups that qualify for the same contract.
  • The EXPRESSION table supports staging, so that after you create a catalog filter in the staging environment and propagate to the production environment, the table will also be propagated to the production environment.

The following steps add a scheduled job that calls the catalog filter service, calculates the filter query expressions, and records them into the EXPRESSION table. The expression record is then used by the search server for entitlement.

Procedure

  1. Complete one of the following tasks:
    • SolarisLinuxAIXLog on as a WebSphere Commerce non-root user.
    • For IBM i OS operating systemLog on with a user profile that has *SECOFR authority.
    • WindowsLog on with a user ID that is a member of the Windows Administration group.
  2. Go to the following directory:
    • WC_installdir\components\foundation\subcomponents\search\bin
    • WebSphere Commerce DeveloperWCDE_installdir\components\foundation\subcomponents\search\bin
  3. Run the search index setup utility, additionally specifying the configWCScheduleforCatalogFilter action:
    • WebSphere Commerce DevelopersetupSearchIndex.bat -action configWCScheduleforCatalogFilter [util-specific-params]
    • WindowssetupSearchIndex.bat -action configWCScheduleforCatalogFilter [util-specific-params]
    • For IBM i OS operating systemSolarisLinuxAIX./setupSearchIndex.sh -action configWCScheduleforCatalogFilter [util-specific-params]
    Where:
    action
    Prepares the search index for certain scenarios. In this task, configWCScheduleforCatalogFilter is used to ensure that the EXPRESSION table is used for entitlement.
    util-specific-params
    For more information about utility-specific parameters and actions that are not related to the managed configuration, see setupSearchIndex utility.
  4. Ensure that the utility runs successfully.
    Consult the following table for the utility results:
    Search setup utility results
    Results Description
    Search index setup successfully completed without errors. The utility ran successfully.
    Search index setup successfully completed with warnings. Check the log file for more information. The utility ran successfully but with warnings. Some warnings might be generated during the setup index process. However, they might not be important such as the utility skipping existing cores that have already been previously created.
    Search index setup successfully completed with errors. Check the log file for more information. The utility ran successfully but with errors. The job did not completely finish setup. Check the log file to see where the problem occurred.
    Search index setup not successful. An unrecoverable error has occurred. Check the log file for more information. The utility did not run successfully. Check the log file to see where the problem occurred.
    If the utility does not run successfully, check the following log file to see where the problem occurred:
    • WC_installdir/components/foundation/subcomponents/search/config/logging.properties
    You can get more detailed logging information for the utility by updating the logging level from INFO to FINEST:
    
    # Default global logging level, INFO
    com.ibm.commerce.level=FINEST
    
    For more information about the log file, and to enable more logging details, see Enabling tracing and logging for WebSphere Commerce search.