表示する絞込み数はデフォルトで10に設定されます。この数で間に合わない場合、対話Webサービス・リクエストでNavigationMenuConfigを使用してこの値を増やすことができます。
一般に、対話Webサービスからのリクエストが問合せへのレスポンスで属性を返すことを要求する場合、RefinementGroupConfig要素でリクエストされたすべての属性を要求します。
ナビゲーションを有意義なものにするために、Oracle Endeca Serverは実際に絞込みがあり、優先順位ルールでフィルタされていない属性のみ返します。つまり、属性はナビゲーション状態に基づいて返されます
リクエストがデータセット内に存在する場合に絞込みを返すようにするためには、RefinementConfigでExpose属性をtrueに設定する必要があります。デフォルト値はfalseです。
<ContentElementConfig xsi:type="NavigationMenuConfig" HandlerFunction="NavigationMenuHandler" HandlerNamespace="http://www.endeca.com/MDEX/conversation/2/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>
このリクエストは、WineTypeについて最大40の絞込み値を返します。それ以外の2つの絞込み値(YearとScore)のそれぞれについて最大15の絞込み値を返します。
レスポンス内の属性HasMore (ブール値trueまたはfalse)は、絞込み総数がMaximumRefinementCountで返された値を超えるかどうかを指定します。
<cs:Results xmlns:cs="http://www.endeca.com/MDEX/conversation/2/0" xmlns:mdex="http://www.endeca.com/MDEX/XQuery/2009/09"> <cs:Request> <FilterState xmlns="http://www.endeca.com/MDEX/conversation/2/0"> <ContentElementConfig xsi:type="NavigationMenuConfig" Id="NavigationMenu" HandlerFunction="NavigationMenuHandler" HandlerNamespace="http://www.endeca.com/MDEX/conversation/2/0" xmlns="http://www.endeca.com/MDEX/conversation/2/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/2/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>