Terms Facet wrong count when Filter is used

Vote:
 

Hi!

I am working with Epi Find on an Epi 6 R2 site and I'm having an issue with terms facets.

My problem is that the Count property of TermsFacet objects show the total amount of this facet BEFORE filters.

Example:

var result = SearchClient.Instance.UnifiedSearchFor("foo");
                 .FilterHits(x => x.SearchTitle.MatchCaseInsensitive("testpage"));

                 .TermsFacetFor(x => x.SearchTypeName)

                 .GetResult();

var typeFacets = result.TermsFacetFor(x => x.SearchTypeName);

The typeFacets Count property here wont take into acount the filtering with FilterHits, meaning if I take away that row the counts for the typeFacets objects will still be the same.

So if the total hits for "foo" is 100, but after filtering on "testpage" only has 1 result, a facet for SearchTypeName might still have Count 90.

Any ideas?






#80494
Jan 23, 2014 15:35
Vote:
 

use .Filter() instead of .FilterHits().

FilterHits will only filter the result, not the facets.

#80497
Jan 23, 2014 16:15
Vote:
 

That did the trick. Perfect! Thanks a lot.

#80498
Jan 23, 2014 16:23
Vote:
 

Is their anyway I can just update the count value for the Facet, I do not want to filter them out ?

#192926
May 23, 2018 18:52