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

facet by polygon

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: modules/facet
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      This can give some nice flexibility if you are working with search results on a map. Of course if everything about your use-case is static, its better to compute this up-front and index string values, but its not always the case. Also it can be helpful if your polygons are changing often, since you don't have to reindex.

      Polygon2D already supports multipolygons, but today it only returns a boolean value. This patch adds a find method that returns the polygon that actually matched, or -1 if it doesn't match. contains is then just written as find >= 0.

      Then we can solve the problem with just some sugar over the existing range faceting, as each multipolygon is just a range of ids coming back from find that correspond with it. e.g. if you were faceting by country, you might have ~200 countries with 100,000 total polygons, and polygons 22,000-32,000 correspond to Canada or whatever.

        Attachments

        1. LUCENE-8368.patch
          14 kB
          Robert Muir
        2. LUCENE-8368_hacky_grid.patch
          22 kB
          Robert Muir
        3. LUCENE-8368_hacky_grid.patch
          22 kB
          Robert Muir
        4. LUCENE-8368_hacky_grid.patch
          22 kB
          Robert Muir

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              rcmuir Robert Muir
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: