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

2017-01-28 Thread Erich Schubert (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-7663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15844044#comment-15844044
 ] 

Erich Schubert commented on LUCENE-7663:


Should apply to {{LatLonPointDistanceQuery}} as well, to reduce the number of 
false positives in {{#compare}}.

In {{NearestNeighbor}}, it should improve {{#approxBestDistance}} (which 
currently computes haversine to all four corners of the bounding box, which is 
incorrect for a large bounding box, and a point close to the middle point of an 
edge & about 4x as expensive). In fact, it would be {{trueBestDistance}} as 
desired in the TODOs.

> 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-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



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

2017-01-27 Thread Erich Schubert (JIRA)
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-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org