任意の絞込みに対して、提案される絞込みだけでなく適用済の絞込み(明示的に選択されたものと暗黙的なものの両方)も取得する対話Webサービス・リクエストを発行できます。
デフォルトでは、エンドユーザーが問合せを作成してガイド付きナビゲーション・エクスペリエンスの一部としていくつかの絞込みを選択した場合、Endeca Serverによって、明示的に選択された絞込みと暗黙的な絞込みは返されません。つまり、デフォルトでは、エンドユーザーは、返されるどの絞込みを選択しても結果セットをさらに絞り込むことができます。一方、対話Webサービス・リクエストで絞込みの完全なセット(提案されるものと適用済のもの)を取得するように指定することもできます。これは、すべての絞込みに対してグローバルに行うか、特定の絞込みに対して行うことができます。
任意の組合せでtrueとfalseの値を使用できます。
絞込みを取得したら、Expose="true"の設定により、絞込みをWebサービス・レスポンスでも返すかどうかを制御します。
(各属性のRefinementConfigで)属性ごとに行った設定によって、(NavigationMenuConfigで)すべての属性に対して行った類似の設定がオーバーライドされます。
これらの例では、次のネームスペースが省略されています。xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.endeca.com/MDEX/conversation/3/0" xmlns:typ="http://www.endeca.com/MDEX/eql_parser/types"
<ns:Request> <ns:State><ns:Name>ref_state</ns:Name> <ns:SelectedRefinementFilter Name="Winery" Spec="A.R. Lenoble"/> </ns:State> <ns:NavigationMenuConfig Id="NavigationMenu" ExposeAllRefinements="true" ReturnFullPath="true" IncludeAllExplicitSelections="false" IncludeAllImplicitSelections="false"> <ns:StateName>ref_state</ns:StateName> <ns:RefinementConfig Name="WineType" Expose="true" IncludeExplicitSelections="true" IncludeImplicitSelections="true"/> <ns:RefinementConfig Name="Region" Expose="true" IncludeExplicitSelections="true" IncludeImplicitSelections="true"/> <ns:RefinementConfig Name="Winery" Expose="true" IncludeExplicitSelections="true" IncludeImplicitSelections="true"/> </ns:NavigationMenuConfig> </ns:Request>
IncludeAllExplicitSelections="false" IncludeAllImplicitSelections="false"
<ns:RefinementConfig Name="Region" Expose="true" IncludeExplicitSelections="true" IncludeImplicitSelections="true"/>RefinementConfigの設定はNavigationMenuConfigの設定をオーバーライドするため、これらの属性に適用済の絞込みが存在する場合は、それらが取得されます。Expose="true"の設定にも注意してください。この設定では、取得された絞込みを実際にWebサービス・レスポンスで返すかどうかを制御します。
<cs:Results>
<Name>ref_state</Name>
<SelectedRefinementFilter Name="Winery" Spec="A.R. Lenoble"/>
</State>
<cs:NavigationMenu Id="NavigationMenu">
<cs:NavigationMenuItem Name="Region" DisplayName="Region" MultiSelect="None" HasMore="false">
<cs:ExposureControl Exposed="true"/>
<cs:RootDimensionValue DimensionName="Region" Spec="/"/>
<cs:ImplicitRefinement Name="Region" Spec="Champagne" Label="Champagne"/>
</cs:NavigationMenuItem>
<cs:NavigationMenuItem Name="Winery" DisplayName="Winery" MultiSelect="None" HasMore="false">
<cs:ExposureControl Exposed="true"/>
<cs:RootDimensionValue DimensionName="Winery" Spec="/"/>
<cs:SelectedRefinement Name="Winery" Spec="A.R. Lenoble" Label="A.R. Lenoble" Count="3"/>
</cs:NavigationMenuItem>
<cs:NavigationMenuItem Name="WineType" DisplayName="Wine Type" MultiSelect="None" HasMore="false">
<cs:ExposureControl Exposed="true"/>
<cs:Refinement Name="WineType" Spec="Brut Rose" Label="Brut Rose" Count="1"/>
<cs:Refinement Name="WineType" Spec="Brut Blanc de Blancs" Label="Brut Blanc de Blancs" Count="1"/>
<cs:Refinement Name="WineType" Spec="Brut" Label="Brut" Count="1"/>
<cs:RootDimensionValue DimensionName="WineType" Spec="/"/>
<cs:FullPath>
<cs:DimensionValue DimensionName="WineType" Spec="/">WineType</cs:DimensionValue>
<cs:DimensionValue DimensionName="WineType" Spec="Sparkling">Sparkling</cs:DimensionValue>
</cs:FullPath>
<cs:ImplicitRefinement Name="WineType" Spec="Sparkling" Label="Sparkling"/>
</cs:NavigationMenuItem>
</cs:NavigationMenu>
</cs:Results>
以下でこのレスポンスについて確認していきます。
<cs:NavigationMenuItem Name="Region" ... > ... <cs:RootDimensionValue DimensionName="Region" Spec="/"/> <cs:ImplicitRefinement Name="Region" Spec="Champagne" Label="Champagne"/> </cs:NavigationMenuItem>これは、このデータセットにおいて、Champagne地方にあるA.R. Lenobleワイン醸造所のワインは3種類しかなく、生産しているのはシャンパンのみであるためです。したがって、状態のフィルタでワイン醸造所としてL.A.Lenobleを指定することにより(SelectedRefinementFilter Name="Winery" Spec="A.R. Lenoble")、ユーザーはさらに2つの絞込み(Regionの値ChampagneとWineTypeの値Sparkling)を暗黙的に選択することになります。
<cs:NavigationMenuItem Name="WineType" ... > ... <cs:Refinement Name="WineType" Spec="Brut Rose" Label="Brut Rose" Count="1"/> <cs:Refinement Name="WineType" Spec="Brut Blanc de Blancs" Label="Brut Blanc de Blancs" Count="1"/> <cs:Refinement Name="WineType" Spec="Brut" Label="Brut" Count="1"/> ... <cs:ImplicitRefinement Name="WineType" Spec="Sparkling" Label="Sparkling"/> </cs:NavigationMenuItem>
<cs:NavigationMenuItem Name="Winery" ... > ... <cs:SelectedRefinement Name="Winery" Spec="A.R. Lenoble" Label="A.R. Lenoble" Count="3"/> </cs:NavigationMenuItem>
結論として、ユーザー・インタフェースでは、この情報を使用して、これらの絞込みを(すでに選択済であるため)選択不可として表示できます。オプションで、これらの一部の絞込みが暗黙的に選択されていることをユーザーに示すこともできます。
これらの各属性は階層を持つ管理属性であるため、リクエストにはRootDimensionValue要素とFullPath要素の情報も含まれています。