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

Add simple encoded GeoPointField type to core

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 6.0
    • 5.3, 6.0
    • None
    • None
    • New, Patch Available

    Description

      At the moment all spatial capabilities, including basic point based indexing and querying, require the lucene-spatial module. The spatial module, designed to handle all things geo, requires dependency overhead (s4j, jts) to provide spatial rigor for even the most simplistic spatial search use-cases (e.g., lat/lon bounding box, point in poly, distance search). This feature trims the overhead by adding a new GeoPointField type to core along with GeoBoundingBoxQuery and GeoPolygonQuery classes to the .search package. This field is intended as a straightforward lightweight type for the most basic geo point use-cases without the overhead.

      The field uses simple bit twiddling operations (currently morton hashing) to encode lat/lon into a single long term. The queries leverage simple multi-phase filtering that starts by leveraging NumericRangeQuery to reduce candidate terms deferring the more expensive mathematics to the smaller candidate sets.

      Attachments

        1. LUCENE-6450-TRUNK.patch
          30 kB
          Nick Knize
        2. LUCENE-6450-5x.patch
          30 kB
          Nick Knize
        3. LUCENE-6450.patch
          30 kB
          Nick Knize
        4. LUCENE-6450.patch
          30 kB
          Nick Knize
        5. LUCENE-6450.patch
          35 kB
          Nick Knize
        6. LUCENE-6450.patch
          35 kB
          Nick Knize
        7. LUCENE-6450.patch
          37 kB
          Nick Knize
        8. LUCENE-6450.patch
          37 kB
          Nick Knize
        9. LUCENE-6450.patch
          46 kB
          Michael McCandless

        Issue Links

          Activity

            People

              Unassigned Unassigned
              nknize Nick Knize
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: