Multi-threaded Spatial Search
-----------------------------

                 Key: LUCENE-1732
                 URL: https://issues.apache.org/jira/browse/LUCENE-1732
             Project: Lucene - Java
          Issue Type: Improvement
          Components: contrib/spatial
    Affects Versions: 2.9
            Reporter: Chris Male


The attached patch is a large refactoring of the spatial search contrib.  The 
primary contribution is the creation of the ThreadedDistanceFilter, which uses 
an ExecutorService to filter the documents in multiple threads.  As a result of 
doing the filtering in multiple threads, the time taken to filter 1.2 million 
documents has been reduced from nearly 3s, to between 500-800ms.

As part of this work, the DistanceQueryBuilder has been replaced by the 
SpatialFilter, a Lucene Filter, some unused functionality has been removed, and 
the package hierarchy has changed.  Consequently this patch breaks backwards 
compatibility with the existing spatial search contrib.

Also during the process of making these changes, abstractions have been added 
so that the one implementation of the ThreadedDistanceFilter can work with 
lat/long and geohash data formats, and so that precise but costly arc distance 
calculations can be replaced by less precise but much more efficient flat plane 
calculations if needed.

This patch will be used in an upcoming patch for Solr which will improve Solr's 
support for spatial search.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to