If there are too many refinements to be returned per refinement, you can limit the number of displayed refinements.
Generally, when the request from the Conversation Web Service asks for attributes to return in response to a query, it asks for all of them that were requested with a RefinementGroupConfig element.
To provide a meaningful navigation experience, the Oracle Endeca Server returns only those attributes that actually have refinements on them and that are not filtered by precedence rules. In other words, the attributes are returned based on the navigation state. (In order for the request to return refinements if they are present in the data set, the Expose attribute should be set to true in the RefinementConfig. Its default value is false).
If there are too many refinements to be returned per attribute, you can limit the number of them that are displayed using NavigationMenuConfig in the Conversation Web Service request.
<ContentElementConfig xsi:type="NavigationMenuConfig" HandlerFunction="NavigationMenuHandler" HandlerNamespace="http://www.endeca.com/MDEX/conversation/1/0" Id="NavigationMenu" MaximumRefinementCount="15" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RefinementGroupConfig Name="Wine Characteristics" Expose="true"> <RefinementConfig Name="WineType" MaximumCount="40"/> <RefinementConfig Name="Year"/> <RefinementConfig Name="Score"/> </RefinementGroupConfig> </ContentElementConfig>
This request returns up to 40 refinement values for WineType. It returns 15 refinement values for each of the other two refinement values (Year and Score).
The attribute HasMore (with possible boolean values true or false) in the response specifies whether the total refinement count exceeds the value returned with the MaximumRefinementCount.
<cs:Results xmlns:cs="http://www.endeca.com/MDEX/conversation/1/0" xmlns:mdex="http://www.endeca.com/MDEX/XQuery/2009/09"> <cs:Request> <FilterState xmlns="http://www.endeca.com/MDEX/conversation/1/0"> <ContentElementConfig xsi:type="NavigationMenuConfig" Id="NavigationMenu" HandlerFunction="NavigationMenuHandler" HandlerNamespace="http://www.endeca.com/MDEX/conversation/1/0" xmlns="http://www.endeca.com/MDEX/conversation/1/0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RefinementGroupConfig Name="Wine Characteristics" Expose="true"> <RefinementConfig Name="WineType" MaximumCount="1" Expose="true" xmlns:ns="http://www.endeca.com/MDEX/conversation/1/0"/> </RefinementGroupConfig> </ContentElementConfig> </cs:Request> <cs:ContentElement xsi:type="cs:NavigationMenu" Id="NavigationMenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <cs:NavigationMenuItemGroup Name="Wine Characteristics" HasRefinablePRoperties="true"> <cs:NavigationMenuItem Name="WineType" DisplayName="WineType" MultiSelect="Or" HasMore="true"> <cs:ExposureControl Exposed="true"> <cs:Operator OwnerId="NavigationMenu" xsi:type="cs:RefinementHideOperator" Name="WineType" Spec="/" Group="Wine Characteristics"/> </cs:ExposureControl> <cs:Refinement Name="WineType" Spec="/Red" Label="Red" Count="18"> <cs:Operator xsi:type="cs:RefinementOperator" Name="WineType" Spec="/Red"/> </cs:Refinement> <cs:RootDimensionValue DimensionName="WineType" Spec="/"/> </cs:NavigationMenuItem> </NavigationMenuItemGroup> </cs:ContentElement> </cs:Results>