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

Explore selective dimension indexing in BKDReader/Writer

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Implemented
    • 7.6, 8.0
    • 7.6, 8.0
    • None
    • None
    • New, Patch Available

    Description

      This issue explores adding a new feature to BKDReader/Writer that enables users to select a fewer number of dimensions to be used for creating the BKD index than the total number of dimensions specified for field encoding. This is useful for encoding dimensional data that is used for interpreting the encoded field data but unnecessary (or not efficient) for creating the index structure. One such example is LatLonShape encoding. The first 4 dimensions may be used to to efficiently search/index the triangle using its precomputed bounding box as a 4D point, and the remaining dimensions can be used to encode the vertices of the tessellated triangle. This causes BKD to act much like an R-Tree for shape data where search is distilled into a 4D point (instead of a more expensive 6D point) and the triangle is encoded using a portion of the remaining (non-indexed) dimensions. Fields that use the full data range for indexing are not impacted and behave as they normally would.

      Attachments

        1. LUCENE-8496.patch
          258 kB
          Nick Knize
        2. LUCENE-8496.patch
          257 kB
          Nick Knize
        3. LUCENE-8496.patch
          249 kB
          Nick Knize
        4. LatLonShape_SelectiveEncoding.patch
          22 kB
          Nick Knize
        5. LUCENE-8496.patch
          249 kB
          Nick Knize
        6. LUCENE-8496.patch
          200 kB
          Nick Knize

        Issue Links

          Activity

            People

              Unassigned Unassigned
              nknize Nick Knize
              Votes:
              0 Vote for this issue
              Watchers:
              3 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 - 2h 40m
                  2h 40m