[ https://issues.apache.org/jira/browse/SOLR-12516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hoss Man updated SOLR-12516: ---------------------------- 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. was: {{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. In a simple range facet this doesn't cause any problems because these buckets are returned by every shard on the phase#1 request -- but *if a sub-facet (such as a field facet) is nested under a range facet then the buckets returned by the sub-facets for the before/between/after buckets will never be refined* ... the phase#1 sub-facet buckets will be merged as. Summary: JSON "range" facets can incorrectly refine subfacets for buckets (was: JSON "range" facets don't refine sub-facets under special buckets (before,after,between)) revising issue summary & description based on expanded findings of the error cases > JSON "range" facets can incorrectly refine subfacets for buckets > ---------------------------------------------------------------- > > Key: SOLR-12516 > URL: https://issues.apache.org/jira/browse/SOLR-12516 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module > Reporter: Hoss Man > Priority: Major > Attachments: SOLR-12516.patch, SOLR-12516.patch > > > 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. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org