Description
Following up on SOLR-7804 lead to this error which i'm splitting off into it's own issue. the nuthsell is that if you combine facet.missing, facet.pivot.mincount, and facet.sort=index you might get incorrect counts (or no counts at all) for the missing value of a pivot.
fairly easy to reproduce the most extreme aspect of the problem (not getting a missing count back even though it's above the minumum)...
bin/solr -e cloud -noprompt bin/post -c gettingstarted example/exampledocs/*.xml http://localhost:8983/solr/gettingstarted/query?rows=0&q=*:*&facet=true&facet.pivot=inStock&facet.missing=true ... "facet_pivot":{ "inStock":[{ "field":"inStock", "value":true, "count":17}, { "field":"inStock", "value":false, "count":4}, { "field":"inStock", "value":null, "count":11}]}}} http://localhost:8983/solr/gettingstarted/query?rows=0&q=*:*&facet=true&facet.pivot=inStock&facet.missing=true&facet.pivot.mincount=10 ... "facet_pivot":{ "inStock":[{ "field":"inStock", "value":true, "count":17}, { "field":"inStock", "value":null, "count":11}]}}} http://localhost:8983/solr/gettingstarted/query?rows=0&q=*:*&facet=true&facet.pivot=inStock&facet.missing=true&facet.pivot.mincount=10&facet.sort=index ... "facet_pivot":{ "inStock":[{ "field":"inStock", "value":true, "count":17}]}}}
...note that in the last example, the 'null' count is gone (even though it's above the minimum) just because we changed the facet.sort.
Attachments
Attachments
Issue Links
- blocks
-
SOLR-7804 TestCloudPivotFacet failures: expected:<X> but was:<Y>
- Open
Huh.
Well apparently the pivot refinement code has incorrectly never bothered to refining the "missing" count ... weird.
Because the missing count isn't affected by the facet.limit, this only affects indexes & queries where facet.sort=index and at least one shard has a missing count that falls below the "per shard" mincount (facet.mincount / numShards).
The attached patch has...
I'll let my laptop hammer on this over the weekend and plan to commit monday.