Search type can be used to determine what types of catentries are returned on a search. For example, with the default search type (1000), product level SKUs will not be returned in the search results. This can be a problem if you would like searches to return results for SKU specific data. For example, if you generate SKUs for a particular product based on sizes, you may want to have this attribute be used in search so that if a user searches for "XL V-neck", they can get all products that are V-necks and are available in XL. But at the same time, you do not want to also have SKUs returned as it can cause too many search results to be returned.
One way to resolve this issue is by using result grouping. Result grouping allows you to group products with their SKUs at query time, so that they can all be searched upon while only returning the relevant product. A common index field is indexed between the product and its SKUs, which will be used as a grouping field. During query time, this field will be included with the search query. Hero products refer to the group representative, or the Solr document that is most relevant match to the search out of all the Solr documents included in the group. The group owner is the catentry that matches the grouping field value. The hero product or group representative will not necessarily be the group owner, as the group owner might not be as relevant as another catentry in the group or the group owner might not be allowed to be used (ex. group owner is filtered out by search rule or not allowed in a particular contract).
The hero product can be configured in the search profile to also search for a particular field name and value. For example, if a merchandising attribute with value "Overstocked" is added to the search profile's hero product configuration, the hero product can be chosen based on it being most relevant to the search terms, or if it has a merchandising attribute "Overstocked". This can be used to push products with SKUs that are overstocked. Another example is using result grouping to show the relevant color based on a search. For example, if the user searches for "green shirt", you can use result grouping to have the SKU's color value override the product's default thumbnail. The following snippet is an example of a hero product configuration in the search profile based on the above two examples:
<_config:heroproduct inherits="false"> <_config:param name="overrideFieldName" value="thumbnail"/> <_config:param name="showGroupPriceRange" value="true"/> <_config:field name="ads_f12345" value="Overstocked"/> </_config:heroproduct> <_config:result inherits="true"> <_config:field name="ads_f12345"/> </_config:result>
To enable result grouping on FEP7, you will need to first apply iFix JR51663. If you are on FEP8, you do not need to install an iFix as this functionality is included in FEP8.
For steps on enabling search result grouping, as well as configuring your search profiles for specific use cases, you can review the following Knowledge Center page: http://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.developer.doc/tasks/tsdsearchresultgrouping.htm
For more information on the result grouping terminology as well as result grouping parameters that can be used in search profiles, you can review the following Knowledge Center page: http://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.developer.doc/concepts/csdsearchresultgrouping.htm