2017-01-12 8 views
0

私が見つけEpiserverを照会するために、.NETクライアントを使用しています、私はIdがサイトのサブセクション内を検索する祖先ページに結果をフィルタリングだし、これが正常に動作します:ファセットはEpiserver Findのフィルタを尊重しますか?

var result = _searchClient.Search<ProductPageData>() 
          .For(query) 
          .Filter(x => x.Ancestors().Match(sectionPageLink.ID.ToString())) 
          .GetContentResult(); 

今私が欲しいです以下の数字で

var result = _searchClient.Search<ProductPageData>() 
          .For(query) 
          .HistogramFacetFor(x => x.Price, PriceInterval) 
          .TermsFacetFor(x => x.Brand) 
          .Filter(x => x.Ancestors().Match(rootPageLink.ID.ToString())) 
          .GetContentResult(); 

結果::

私は HistogramFacetForTermsFacetForを使用していますが、ファセット数のカウントが Filter操作を尊重するためには表示されませんので、いくつかのファセットナビゲーションを追加します210
result.TotalMatching = 11 

Brand: 
    Brand 1 : 5 items 
    Brand 2 : 6 items 
    Brand 3 : 3 items 
     Total = 14 

Price: 
     0 - 100 : 2 
    101 - 200 : 5 
    201 - 300 : 7 
     Total = 14 

フィルターがないとTotalMatchingは14ですので、ファセットはFilter()を尊重しないようですが、これは間違っているのですか?

+0

これは 'TotalMaching'計算のバグと思われます。あなたの 'Brand n'を合計すると14になります。 –

答えて

0

ファセットの上にフィルタを移動しようとしましたか?フィルタの代わりにFilterHitを使用している場合を除き、フィルタはファセットに影響するはずです。

+0

はい、私は両方の方法で試してみました。上のコードサンプルのように 'Filter(...)'を使っています。これはどこに文書化されていますか、私はEpiserver WorldでFilteringとFacetsの組み合わせについて具体的に話しているものは何も見えません。 –

+0

http://world.episerver.com/documentation/developer-guides/find/NET-Client-API/searching/Filtering/Filter-and-FilterHits/ –

関連する問題