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

Abstract Spatial distance filtering process and supported field formats

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 3.1
    • None
    • modules/spatial
    • None
    • New

    Description

      Currently the second stage of the filtering process in the spatial contrib involves calculating the exact distance for the remaining documents, and filtering out those that fall out of the search radius. Currently this is done through the 2 impls of DistanceFilter, LatLngDistanceFilter and GeoHashDistanceFilter. The main difference between these 2 impls is the format of data they support, the former supporting lat/lngs being stored in 2 distinct fields, while the latter supports geohashed lat/lngs through the GeoHashUtils. This difference should be abstracted out so that the distance filtering process is data format agnostic.

      The second issue is that the distance filtering algorithm can be considerably optimized by using multiple-threads. Therefore it makes sense to have an abstraction of DistanceFilter which has different implementations, one being a multi-threaded implementation and the other being a blank implementation that can be used when no distance filtering is to occur.

      Attachments

        1. LUCENE-2152.patch
          36 kB
          Chris Male
        2. LUCENE-2152.patch
          38 kB
          Chris Male
        3. LUCENE-2152.patch
          38 kB
          Chris Male
        4. LUCENE-2152-alt.patch
          44 kB
          Chris Male

        Issue Links

          Activity

            People

              cmale Chris Male
              cmale Chris Male
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: