You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Erich Schubert (JIRA)" <ji...@apache.org> on 2017/01/27 22:29:25 UTC

[jira] [Created] (LUCENE-7663) Improve GeoPointDistanceQuery performance

Erich Schubert created LUCENE-7663:
--------------------------------------

             Summary: Improve GeoPointDistanceQuery performance
                 Key: LUCENE-7663
                 URL: https://issues.apache.org/jira/browse/LUCENE-7663
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Erich Schubert
            Priority: Minor


GeoPoint queries currently use only the bounding box for filtering.
But the query circle is only roughly 80% of the bounding box, so we could be roughly 20% faster. Furthermore, the current approach requires splitting the box if it crosses the date line.

> Schubert, E., Zimek, A., & Kriegel, H. P. (2013, August). Geodetic distance queries on r-trees for indexing geographic data. In International Symposium on Spatial and Temporal Databases (pp. 146-164).

The minimum spherical distance of a point to a rectangle is given ("Algorithm 2: Optimized Minimum Distance Point to MBR"). Rectangles whose minimum distance is larger than the query radius can be skipped. The authors used the R-tree, but it will work with any bounding box, so it can be used in CellComparator#relate.
It's not very complex - a few case distinctions, and then either Haversine distance, or cross-track-distance. So the cost ist comparable to Haversine.
This could be added as GeoRelationUtils.pointToRectMinimumDistance, for example.

This approach can also be used to priorize rectangles, for top-k search.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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