Change the relevancy of search index fields
Depending on the store catalog, some search index fields might be more relevant than others for when shoppers search in the store. We can fine-tune the relevancy of search index fields to improve search results that are based on the store catalog. The relevancy can be scoped to either the site level or to the category level. The following table shows sample relevancy values assigned to search index fields:Default relevancy values for search index fields
Search index field Default relevancy value categoryname 100.0 partNumber_ntk 15.0 mfName 10.0 name 10.0 shortDescription 5.0 shortDesc_suggest 1.0 partNumber_suggest 1.0 name_suggest 1.0 defaultSearch 1.0 Tip: If your business users enter catalog information into the long description field instead of the short description, we can work around this issue by copying the information into the first few lines of the long description to quickly generate the short description. Then, boosting is applied accordingly to the short description.
Before beginning
Ensure that the site contains attribute dictionary attributes, marked as searchable or facetable, for which we want to change relevancy settings.
Procedure
- Run a keyword search in the storefront and identify the search results to improve. For example, the catalog might result in displaying more relevant search results lower than we want them to appear.
- Update the SRCHPROPRELV table and change the relvalue for the search field we want to change the relevancy for:
- Run the following SQL statement:
update srchproprelv set relvalue = rel_value where srchproprelv_id in (select srchproprelv_id from srchproprelv where indexfield in (select lower(srchfieldname) from attrdictsrchconf where attr_id in (select attr_id from attr where identifier in ('identifier')))));Where:
- rel_value
- The relevancy value for the field. Default is typically 1.0. To boost the field relative to the other default search index fields, enter a value greater than 1.0 for example, 10.0.
- identifier
- The field identifier for example, Color or Size.
- Perform the same keyword search again in the storefront and compare the search results with the initial search results. Continue to update search relevancy values to optimize the search results.
Example
Example 1: Changing the relevancy value of the Color and Size attributes at the site level to 10.0update srchproprelv set relvalue = 10.0 where srchproprelv_id in (select srchproprelv_id from srchproprelv where indexfield in (select lower(srchfieldname) from attrdictsrchconf where attr_id in (select attr_id from attr where identifier in ('Color', ‘Size’))));Example 2: Changing the relevancy value of the Color attribute at the Dresses category level:
- Query the information for colors in your store:
select attrdict_id, storeent_id from attrdict where storeent_id=asset_store_idThe returned attrdict_id value is then used in the following query:
select * from srchproprelv where indexfield in (select srchfieldname from attrdictsrchconf where attr_id in (select attr_id from attr where identifier in ('Color') and attrdict_id=returned_attrdict_id));The values are:
- catalog ID
- 10001
- storeent_id
- 10051
- indexfield
- ads_f32
- Query the catgroup ID from CATGROUP:
select * from catgroup c, storeent s where c.member_id = s.member_id and storeent_id in (select storeent_id from storecat where catalog_id=10001) or storeent_id in (select RELATEDSTORE_ID from storerel where STORE_ID in (select storeent_id from storecat where catalog_id=10001) and STRELTYP_ID=-4) and c.identifier='Dresses';The resulting catgroup ID is 10006.
- Insert the new record into SRCHPROPRELV. For example, to increase the relevance to 10.5:
Note: We must use a srchproprelv_id value that is less than -10000, as the upper range is reserved for IBM internal use.
insert into srchproprelv (srchproprelv_id, catgroup_id, catalog_id, storeent_id, relvalue, indexfield) values (-10001,10006,10001,10051,10.5,'ads_f32');