Redefining an existing search profile to override default properties

You can override default properties in the wc-search.xml file to add, change, or remove the behavior of default properties.

Before you begin

  1. Identify the search profile to customize.
  2. Identify the property that you want to add or change.

About this task

You can perform the following customizations when redefining an existing search profile:
  1. Add a new parameter, field, provider, processor, or configuration into an existing configuration. All additions are appended to the end of the default configurations.
  2. Override an existing configuration parameter values in any profile configuration, where applicable.
  3. Disable any of the default providers or processors.
  4. Disable a sort configuration field.
If the preceding customizations do not meet your business needs, create a new custom search profile that contains the necessary logic.

Procedure

  1. Copy the contents of the entire search profile that you want to customize into your extended wc-search.xml file.
  2. Keep all of the elements that you want to update, and remove the ones that do not require changes.
  3. To add a new parameter, field, provider, processor, or configuration, add it directly into its specific configuration.
    For example, the following snippet adds the searchType parameter, x-name field, and a sample post processor into the query configuration of the IBM_findProductsBySearchTerm search profile:
    
    <_config:profile name="IBM_findProductsBySearchTerm" indexName="CatalogEntry">
    <_config:query>
    <_config:param name="searchType" value="10"/>
    <_config:field name="x_name"/>
    <_config:postprocessor classname="com.mycompany.commerce.catalog.facade.server.services.search.query.solr.SolrRESTSearchSampleQueryPostprocessor" />
    </_config:query>
    </_config:profile>
    
  4. To override an existing configuration parameter, include the parameter and set it to a different value.
    For example, the following snippet overrides the DynamicKitReturnPrice query parameter of the IBM_findProductsByCategory search profile:
    
    <_config:profile name="IBM_findProductsByCategory" indexName="CatalogEntry">
    <_config:query>
    <_config:param name="DynamicKitReturnPrice" value="false"/>
    </_config:query>
    </_config:profile>
    
  5. To disable any of the default providers or processors, include the same class you want to disable and set the enabled property to false.
    For example, the following snippet disables the catalog entry sequencing provider from the IBM_findProductsByCategory search profile:
    
    <_config:profile name="IBM_findProductsByCategory" indexName="CatalogEntry">
    <_config:query>
    <_config:provider classname="com.ibm.commerce.foundation.server.services.rest.search.expression.solr.SolrRESTSearchProductSequencingExpressionProvider" enabled="false" />
    </_config:query>
    </_config:profile>
    
  6. To disable a sort field, list the sort field without a value.
    For example, the following snippet removes the sort field with name 2, and overrides the sort field 1 value to use different index field:
    
    <_config:profile name="IBM_findProductsByCategory" indexName="CatalogEntry">
    <_config:sort>
    <_config:field name="1" value="x-mfName_ntk_cs asc"/>
    <_config:field name="2"/>
    </_config:sort>
    </_config:profile>
    
  7. Save the changes to your extended wc-search.xml file.
  8. Restart the search server.