2017-01-12 1 views
0

나는 Episerver, 나는 사이트의 하위 섹션 내에서 검색 조상 페이지 ID에 결과를 필터링하고있어 찾기 쿼리하는 .NET 클라이언트를 사용하고 있는데이 잘 작동합니다 :면은 Episerver 찾기에서 필터를 존중합니까?

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(); 

결과 :

,691,363 내가 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이므로 Facets가 Filter()을 존중하지 않는 것으로 보입니다. 이것이 맞습니까? 아니면 잘못된 것입니까?

+0

'TotalMaching'계산에서 버그로 보입니다. 귀하의 '브랜드 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/ –