Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-10274

Implement "hyperrectangle" faceting

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 9.3
    • modules/facet
    • None
    • New

    Description

      I'd be interested in expanding Lucene's faceting capabilities to aggregate a point field against a set of user-provided n-dimensional hyperrectangles. This would be a generalization of LongRangeFacets / DoubleRangeFacets from a single dimension to n-dimensions, and would compliment PointRangeQuery well, providing the ability to facet ahead of "drilling down" on such a query.

      As a motivating use-case, imagine searching against movie documents that contain a 2-dimensional point storing "awards" the movie has received. One dimension encodes the year the award was won, while the other encodes the type of award as an ordinal. For example, the film "Nomadland" won the "Academy Awards Best Picture" award in 2021. Imagine providing a two-dimensional refinement to users allowing them to filter by the combination of award + year in a single action (e.g., using PointRangeQuery) and needing to get facet counts for these combinations ahead of time.

      Curious if the community thinks this functionality would be useful. Any thoughts? 

      Attachments

        Activity

          People

            Unassigned Unassigned
            gsmiller Greg Miller
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 18.5h
                18.5h