RefinementGroupConfig

The RefinementGroupConfig element returns a list of refinements from those attributes that are included in attribute groups.

Use the RefinementGroupConfig and RefinementConfig elements of the Conversation Web service request to expose refinement values for attributes. These elements allow you to perform operations on many attributes at once without enumerating all of them.

By default, attributes in groups and refinements are collapsed. If you would like to expose attributes that have refinements, either use RefinementConfig on each attribute whose refinements you want to expose, or use ExposeAllPropertyRefinements and expose refinements for all attributes at once.

The RefinementGroupConfig element contains the RefinementConfig element. The RefinementGroupConfig syntax is:
<RefinementGroupConfig Name="?" Expose="?" ExposeAllPropertyRefinements="?">
   <RefinementConfig .../>
</RefinementGroupConfig>
RefinementGroupConfig contains the following parameters:
Attribute Description
Name Required. The name of the attribute group.
Expose Required. A boolean that indicates whether to evaluate attributes in the group as potential refinements at all. Using the Expose attribute is important when you have groups of attributes and would like to be able to expand and collapse them in the user interface of the front-end application. For example, if you wanted country name refinements, then in order to obtain them, you use Expose in the initial request which enables the expand/collapse options in the UI. Next, you request these refinements in a separate Conversation Web Service request.
ExposeAllPropertyRefinements Optional. Indicates whether to expose refinements (that is, whether to compute refinement values) for all attributes in the group.
RefinementConfig Controls the behavior of an individual attribute in a NavigationMenuConfig. It specifies which attributes, out of all valid refinements returned with a navigation query, should return actual refinement values, and includes specifications about the order and number of refinement values. Also includes specifications on whether to return a full list of refinements (both suggested and applied, including those that are implicit).
The RefinementConfig element is used in a NavigationMenuConfig element, as in this example. Notice two Expose attributes, used for two different levels of exposure — first, the attributes in the group are exposed and next, the refinements under those attributes are exposed. In other words, this request exposes the attributes in the group, and then the refinement values for the OrderQuantity attribute that is part of the group Sales-Transaction:
<Request xmlns="http://www.endeca.com/MDEX/conversation/3/0">
   <State/>
   <NavigationMenuConfig Id="NavigationMenu">
     <RefinementGroupConfig Name="Sales-Transaction" Expose="true">
       <RefinementConfig Name="OrderQuantity" Expose="true" MaximumCount="100" /> 
     </RefinementGroupConfig> 
   </NavigationMenuConfig>
</Request>

To perform operations on individual attributes in a group, instead of performing operations on all of them (for example, to override settings for an individual attribute), you can use multiple RefinementConfig elements in a RefinementGroupConfig.