Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
while simple type:range facets don't benefit from refinement, because every shard returns the same set of buckets, some bugs currently exist when a range facet contains sub facets that use refinement:
- the optional other buckets (before/after/between) are not considered during refinement
- when using the include option: if edge is specified, then the refinement of all range buckets mistakenly includes the lower bound of the range, regardless of whether lower was specified.
#1 occurs because FacetRangeMerger extends FacetRequestSortedMerger<FacetRange> ... however FacetRangeMerger does not override getRefinement(...) which means only FacetRequestSortedMerger.buckets is evaluated and considered for refinement. The additional, special purpose, FacetBucket instances tracked in FacetRangeMerger are never considered for refinement.
#2 exists because of a mistaken in the implementation of refineBucket and how it computes the start value.
Attachments
Attachments
Issue Links
- relates to
-
SOLR-12343 JSON Field Facet refinement can return incorrect counts/stats for sorted buckets
- Closed