[jira] [Updated] (LUCENE-6480) Extend Simple GeoPointField Type to 3d

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6480:
---
Component/s: (was: core/index)
 modules/spatial

> Extend Simple GeoPointField Type to 3d 
> ---
>
> Key: LUCENE-6480
> URL: https://issues.apache.org/jira/browse/LUCENE-6480
> Project: Lucene - Core
>  Issue Type: New Feature
>  Components: modules/spatial
>Reporter: Nicholas Knize
> Attachments: MortonEncoding3D.java
>
>
> [LUCENE-6450 | https://issues.apache.org/jira/browse/LUCENE-6450] proposes a 
> simple GeoPointField type to lucene core. This field uses 64bit encoding of 2 
> dimensional points to construct sorted term representations of GeoPoints 
> (aka: GeoHashing).
> This feature investigates adding support for encoding 3 dimensional 
> GeoPoints, either by extending GeoPointField to a Geo3DPointField or adding 
> an additional 3d constructor.



--
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] [Updated] (LUCENE-6935) Improve random testing for GeoPointPointInPolygonQuery and DimensionalPointInPolygonQuery

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6935:
---
Component/s: modules/spatial

> Improve random testing for GeoPointPointInPolygonQuery and 
> DimensionalPointInPolygonQuery
> -
>
> Key: LUCENE-6935
> URL: https://issues.apache.org/jira/browse/LUCENE-6935
> Project: Lucene - Core
>  Issue Type: Test
>  Components: modules/spatial
>Reporter: Nicholas Knize
>Priority: Minor
>
> Currently {{TestGeoPointQuery}} and {{TestDimensionalQueries}} only create 
> bounding box polygons to test {{PointInPolygonQuery}}. This provides coverage 
> for testing basic functionality but lacks critical testing with true random 
> shapes. Random shape generation needs to be added to {{BaseGeoPointTestCase}} 
> and used in {{newPolygonQuery}} for GeoPoint and DimensionalQuery testing.



--
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] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Component/s: modules/spatial

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch, 
> LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Updated] (LUCENE-6540) Add BKDPointDistanceQuery

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6540:
---
Component/s: (was: core/search)
 modules/spatial

> Add BKDPointDistanceQuery
> -
>
> Key: LUCENE-6540
> URL: https://issues.apache.org/jira/browse/LUCENE-6540
> Project: Lucene - Core
>  Issue Type: New Feature
>  Components: modules/spatial
>Reporter: Nicholas Knize
>
> LUCENE-6532 adds the supporting mathematics for point-distance computation 
> based on the ellipsoid (using Vincenty's Direct and Inverse solutions). This 
> feature adds BKDPointDistance query function to LUCENE-6477 for finding all 
> documents that match the provided distance criteria from a given geo point.  
> This should out perform other solutions since we can stop traversing the BKD 
> tree once we've found an internal node that matches the given criteria.



--
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] [Updated] (LUCENE-6532) Add GeoPointDistanceQuery for GeoPointField type

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6532:
---
Component/s: (was: core/search)
 modules/spatial

> Add GeoPointDistanceQuery for GeoPointField type
> 
>
> Key: LUCENE-6532
> URL: https://issues.apache.org/jira/browse/LUCENE-6532
> Project: Lucene - Core
>  Issue Type: New Feature
>  Components: modules/spatial
>Reporter: Nicholas Knize
> Attachments: LUCENE-6532.patch, LUCENE-6532.patch
>
>
> [LUCENE-6481 | https://issues.apache.org/jira/browse/LUCENE-6481] adds 
> GeoPointField w/ GeoPointInBBox and GeoPointInPolygon queries. This feature 
> adds GeoPointDistanceQuery to support point radius queries.



--
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] [Commented] (LUCENE-6996) Deconflict GeoPointField and BKD LatLonField Encoding, Decoding, and Tolerance

2016-02-01 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6996:


Will do!

> Deconflict GeoPointField and BKD LatLonField Encoding, Decoding, and Tolerance
> --
>
> Key: LUCENE-6996
> URL: https://issues.apache.org/jira/browse/LUCENE-6996
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> Follow up to LUCENE-6956, BKD based {{LatLonField}} and postings based 
> {{GeoPointField}} should use a consistent lat/lon encoding/decoding method to 
> ensure consistent round-off error.



--
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] [Updated] (LUCENE-6846) Handle Pole Crossing for GeoPointQuery

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6846:
---
Component/s: modules/spatial

> Handle Pole Crossing for GeoPointQuery
> --
>
> Key: LUCENE-6846
> URL: https://issues.apache.org/jira/browse/LUCENE-6846
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial
>Reporter: Nicholas Knize
>
> Dateline crossing is handled by way of a query rewrite for GeoPointInBBox and 
> GeoPointDistance queries.  Pole crossing can be handled the same way but is 
> currently not implemented. This issue will implement pole crossing for 
> GeoPoint queries.



--
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] [Updated] (LUCENE-6994) GeoUtils Distance accuracy degrades with irregular rectangles

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6994:
---
Component/s: modules/spatial

> GeoUtils Distance accuracy degrades with irregular rectangles
> -
>
> Key: LUCENE-6994
> URL: https://issues.apache.org/jira/browse/LUCENE-6994
> Project: Lucene - Core
>  Issue Type: Bug
>  Components: modules/spatial
>Reporter: Nicholas Knize
>
> This is a continuation of LUCENE-6908 which validates USGS accuracy of 0.5% 
> for Sinnott haversine distance calculation. The issue also introduced a space 
> segmentation approach for BKD distance queries near the poles. In LUCENE-6956 
> a restriction on distance size was initially removed to randomly test BKD 
> distance queries at any range. This revealed an issue where distance error 
> nearly doubles for exotic rectangles created by BKD's split algorithm. This 
> issue will investigate potential distance error caused by the segmentation 
> approach introduced in the second part of LUCENE-6908.



--
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] [Updated] (LUCENE-6996) Deconflict GeoPointField and BKD LatLonField Encoding, Decoding, and Tolerance

2016-02-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6996:
---
Component/s: modules/spatial

> Deconflict GeoPointField and BKD LatLonField Encoding, Decoding, and Tolerance
> --
>
> Key: LUCENE-6996
> URL: https://issues.apache.org/jira/browse/LUCENE-6996
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial
>Reporter: Nicholas Knize
>
> Follow up to LUCENE-6956, BKD based {{LatLonField}} and postings based 
> {{GeoPointField}} should use a consistent lat/lon encoding/decoding method to 
> ensure consistent round-off error.



--
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] [Commented] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-29 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6997:


bq. It seems this has more to do with the presence of external dependencies 
than trying to define what "lite" is vs "heavy"
agree!

I think this is a great compromise. Let me make sure I understand the changes 
(slightly different but same result):

* rename spatial3d to lucene-spatial-extras (unless someone suggests a better 
name I'm good with this).
* move existing s4j implementations to lucene-spatial-extras (which includes 
geo3d)
* move sandbox spatial code to lucene-spatial and require it remain dependency 
free

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> --
>
> Key: LUCENE-6997
> URL: https://issues.apache.org/jira/browse/LUCENE-6997
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
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] [Commented] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-29 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6997:


+1 as well!  A separate issue for geo3d sounds like the right move to me.

I'd like to work this before committing LUCENE-6930, any objections?

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> --
>
> Key: LUCENE-6997
> URL: https://issues.apache.org/jira/browse/LUCENE-6997
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
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] [Comment Edited] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-28 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6997 at 1/28/16 3:52 PM:
-

bq. What's missing, in your opinion? And did you actually mean Spatial4j? FYI 
JTS as of yesterday is licensed BSD.

Hey wonderful! I actually meant JTS. Last conversation I had with Martin he 
wasn't confident in a friendly timeline for relicense. I think the larger 
discussion re: dependencies is still relevant? Unless there's a blacklist 
somewhere of licenses we will always reject. 

bq. I think Maven "optional" dependencies are for uses cases where you need a 
class only at compile time (mandatory), but consumer (runtime) may not need it,

Its likely I misunderstood this so this clarification will certainly help. I 
thought Java's module system is changing in Java 9 such that it needs all 
dependencies at runtime? That's the relevancy of Java 9 in the discussion.


was (Author: nknize):
bq. What's missing, in your opinion? And did you actually mean Spatial4j? FYI 
JTS as of yesterday is licensed BSD.

Hey wonderful! I actually meant JTS. Last conversation I had with Martin he 
wasn't confident in a friendly timeline for relicense. I think the larger 
discussion re: dependencies is still relevant? Unless there's a blacklist 
somewhere of licenses we will always reject. 

bq. I think Maven "optional" dependencies are for uses cases where you need a 
class only at compile time (mandatory), but consumer (runtime) may not need it,

Its likely I misunderstood this so this clarification will certainly help. I 
thought Java's module system is changing in Java 9 such that it needs all 
dependencies are needed at runtime? That's the relevancy of Java 9 in the 
discussion.

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> --
>
> Key: LUCENE-6997
> URL: https://issues.apache.org/jira/browse/LUCENE-6997
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
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] [Commented] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-28 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6997:


Thanks for clearing that up [~thetaphi]!

Then it boils down to the value of having a spatial module for the simple use 
case that users don't have to worry about dependency management. If there's 
agreement in having that value then these classes should go into that package. 
If not, then either a. spatial3d could be refactored back to the spatial module 
(since JTS license is no longer an issue), or b. the GeoUtils classes go into 
spatial3d (renaming still seems appropriate) and the Lucene Query and Field 
classes go into the spatial module.

I'm open to thoughts or other ideas.

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> --
>
> Key: LUCENE-6997
> URL: https://issues.apache.org/jira/browse/LUCENE-6997
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
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] [Commented] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-28 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6997:


bq. What's missing, in your opinion? And did you actually mean Spatial4j? FYI 
JTS as of yesterday is licensed BSD.

Hey wonderful! I actually meant JTS. Last conversation I had with Martin he 
wasn't confident in a friendly timeline for relicense. I think the larger 
discussion re: dependencies is still relevant? Unless there's a blacklist 
somewhere of licenses we will always reject. 

bq. I think Maven "optional" dependencies are for uses cases where you need a 
class only at compile time (mandatory), but consumer (runtime) may not need it,

Its likely I misunderstood this so this clarification will certainly help. I 
thought Java's module system is changing in Java 9 such that it needs all 
dependencies are needed at runtime? That's the relevancy of Java 9 in the 
discussion.

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> --
>
> Key: LUCENE-6997
> URL: https://issues.apache.org/jira/browse/LUCENE-6997
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
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] [Comment Edited] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-28 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6997 at 1/28/16 4:12 PM:
-

bq. What's missing, in your opinion? And did you actually mean Spatial4j? FYI 
JTS as of yesterday is licensed BSD.

Hey wonderful! I actually meant JTS. Last conversation I had with Martin he 
wasn't confident in a friendly timeline for relicense. I think the larger 
discussion re: dependencies is still relevant? Unless there's a blacklist 
somewhere of licenses we will always reject. 

bq. I think Maven "optional" dependencies are for uses cases where you need a 
class only at compile time (mandatory), but consumer (runtime) may not need it,

Its likely I misunderstood this so this clarification will certainly help. I 
thought Java's module system is changing in Java 9 such that it needs all 
dependencies at runtime (even if the dependencies are not used)? That's the 
relevancy of Java 9 in the discussion.


was (Author: nknize):
bq. What's missing, in your opinion? And did you actually mean Spatial4j? FYI 
JTS as of yesterday is licensed BSD.

Hey wonderful! I actually meant JTS. Last conversation I had with Martin he 
wasn't confident in a friendly timeline for relicense. I think the larger 
discussion re: dependencies is still relevant? Unless there's a blacklist 
somewhere of licenses we will always reject. 

bq. I think Maven "optional" dependencies are for uses cases where you need a 
class only at compile time (mandatory), but consumer (runtime) may not need it,

Its likely I misunderstood this so this clarification will certainly help. I 
thought Java's module system is changing in Java 9 such that it needs all 
dependencies at runtime? That's the relevancy of Java 9 in the discussion.

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> --
>
> Key: LUCENE-6997
> URL: https://issues.apache.org/jira/browse/LUCENE-6997
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
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] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-28 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Attachment: LUCENE-6930.patch

Updated patch to include review feedback.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch, 
> LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-27 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6930:


Thanks for the feedback [~mikemccand]! I'll post an updated patch shortly. In 
the meantime I think this will be blocked by LUCENE-6997 so I may put this in a 
feature branch.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch, 
> LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-27 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6997:


bq. ...can you explain better? I'm unfamiliar with restrictions imposed by 
sandbox.

I had the understanding the sandbox module provides no backwards compatibility. 
Not "it doesn't guarantee backwards compatibility" but there is "NO backwards 
compatibility". Other modules do not have this restriction. In this particular 
case the restriction makes it difficult/impossible to experiment and evolve 
alternative postings based encoding methods without adding some crazy 
abstraction layer (that just masks backcompat), or duplicating code and (like 
codecs) changing class names.

bq. ...doesn't depend on Spatial4j (what I assume you imply by "dependency 
free")

Just no dependencies whatsoever, be them optional or not (to include JTS or 
future dependencies).

bq. I don't think that need be fundamental to the spatial module's future.

I agree. While the GeoUtils API is really close to being able to remove the JTS 
dependency there are some Apache friendly libraries I think would really boost 
lucene-spatial's capabilities. And IMHO that's what defines the lucene-spatial 
module. A provider of the more advanced GIS capabilities with dependencies from 
only "friendly" licenses (I'm not a lawyer so I don't know what this list would 
include).

bq. From a maven standpoint, they could be marked "optional". 

I think that's part of the benefits for having a lightweight dependency free 
module. I was told (and did some quick research - a la elgoog) that optional 
dependencies are no longer going to be supported by Java 9? I'm sure someone 
far smarter than me on Java 9 can chime in but if class A depends on B which 
optionally depends on C you can no longer include B without C? Sounds like that 
will break the current Spatial4J / JTS model? Also Optional dependencies aren't 
well supported for build systems other than maven (e.g., gradle)? I'm certainly 
not a gradle expert (by any means) but I know I've seen this as enough of a 
headache in the past that gradle users try to avoid them unless necessary.

To me these seem like compelling reasons to split the complexity of spatial 
into a lightweight dependency free core module that can be leveraged by modules 
that either do or do not have a dependency restriction.

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> --
>
> Key: LUCENE-6997
> URL: https://issues.apache.org/jira/browse/LUCENE-6997
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
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-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...

2016-01-27 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6997:
--

 Summary: Graduate GeoUtils and postings based GeoPointField from 
sandbox...
 Key: LUCENE-6997
 URL: https://issues.apache.org/jira/browse/LUCENE-6997
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Nicholas Knize


{{GeoPointField}} is a lightweight dependency-free postings based geo field 
currently in sandbox. It has evolved into a very fast lightweight geo option 
that heavily leverages the optimized performance of the postings structure. It 
was originally intended to graduate to core but this does not seem appropriate 
given the variety of "built on postings" term encoding options (e.g., see 
LUCENE-6930).  

Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
relational approximation utilities used by both {{GeoPointField}} and the BKD 
based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
module.

These classes have been evolving and baking for some time and are at a maturity 
level qualifying for promotion from sandbox. This will allow support for 
experimental encoding methods with (minimal) backwards compatibility - 
something sandbox does not allow.

Since GeoPoint classes are dependency free, all GeoPointField and support and 
utility classes currently in sandbox would be promoted to the spatial3d 
package. (possibly a separate issue to rename spatial3d to spatialcore or 
spatiallite?) Such that for basic lightweight Geo support one would only need a 
handful of lucene jars. By simply adding the lucene-spatial module and its 
dependency jars users can obtain more advanced geospatial support (heatmap 
facets, full shape relations, etc).



--
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] [Resolved] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-27 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6956.

Resolution: Fixed

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956-enc.patch, LUCENE-6956.patch, 
> LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29929
>

[jira] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-27 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Attachment: LUCENE-6930.patch

Corrected patch

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch, 
> LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-26 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


++ Thanks for reminding me where that came from! I forgot we are using 2 
different encoding methods for BKD and GeoPoint. The GeoPointEncoding of 31 
bits was for supporting the GeoHash bit twiddle methods in {{GeoHashUtils}}. We 
had issue LUCENE-6710 that used the full 32 bits but I reverted it because of 
conflicts the the GeoHash string encoding.

I'll go back to 32 bits so BKD and GeoUtils encoding methods and rounding error 
are consistent and we can use the same encoding methods for BKD and GeoPoint. 
Separately I'll fix up the GeoHash string encoding to work with the 32 bit 
encoding changes and deconflict tests.  

bq. I also separately added tests to confirm the encode/decode are stable

Which encoding, BKD? {{TestGeoUtils.testGeoHash}} tests morton and geohash 
stabilization for GeoUtils. 

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956-enc.patch, LUCENE-6956.patch, 
> LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> 

[jira] [Created] (LUCENE-6996) Deconflict GeoPointField and BKD LatLonField Encoding, Decoding, and Tolerance

2016-01-26 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6996:
--

 Summary: Deconflict GeoPointField and BKD LatLonField Encoding, 
Decoding, and Tolerance
 Key: LUCENE-6996
 URL: https://issues.apache.org/jira/browse/LUCENE-6996
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Nicholas Knize


Follow up to LUCENE-6956, BKD based {{LatLonField}} and postings based 
{{GeoPointField}} should use a consistent lat/lon encoding/decoding method to 
ensure consistent round-off error.



--
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] [Updated] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-26 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6956:
---
Attachment: LUCENE-6956.patch

Updated patch that reverts BKD tolerance back to {{1e-7}}. I opened LUCENE-6996 
as a separate issue to reconcile encoding/decoding resolution and tolerance 
between BKD and GeoPoint.

This should be ready, I'd like to get this committed before LUCENE-6930 and 
then tackle the encoding resolution.


> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956-enc.patch, LUCENE-6956.patch, 
> LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not

[jira] [Commented] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-26 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6930:


argghh.. guessed the fancy {{--show-copies-as-adds}} didn't work this time. 
I'll prep a new patch shortly. Thx [~mikemccand]!

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch, 
> LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-25 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


Oh, sorry for not addressing the {{1e-7}} question. With the 32 bit 
quantization encoding error can exceed {{1e-7}} but not {{1e-6}}. So its not 
that its weakening the test, its that once a point is indexed (quantized from 
two doubles to two 32 bit ints) the location can be affected by that much. I'm 
not exactly sure where 1e-7 came from? I can reduce it from 1e-6 but, in all 
honesty, I haven't worked out the exact maximum error. That could be a fun and 
useful exercise, just haven't had the time.

bq. Hmm I hit this failure with the patch after a some beasting:

Looks like the TestGeoUtils distance test doesn't have any boundary checks, so 
this is related to above. I thought I added a boundary check (e.g., return null 
boolean)? Maybe it was stepped on? I can add it back.

bq. Can we rename GeoRelationUtils.pointInRect to .pointInRectPrecise since 
it's now comparing doubles directly?

Absolutely!

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 

[jira] [Comment Edited] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-25 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6930 at 1/25/16 8:50 PM:
-

Updated patch to include the following:

* incorporate review feedback
* override {{GeoPointPrefixTermsEnum.accept}} to "seek" to the  "floor" range 
of the candidate term. This boosts query performance by eliminating superfluous 
range visits.
* fixed bug in {{GeoEncodingUtils.geoCodedToPrefixCodedBytes}} and 
{{.getPrefixCodedLongShift}} that was ignoring the {{BytesRef.offset}} variable

I'm going to open up another query performance improvement issue that switches 
from comparing BytesRefs to directly comparing the long encoded range values. 
This will instead convert candidate terms to their encoded range values and 
eliminate the need for constantly converting ranges to BytesRefs for 
comparisons.

NOTE: Beast testing this may result in some accuracy failures that are being 
fixed separately by LUCENE-6956


was (Author: nknize):
Updated patch to include the following:

* incorporate review feedback
* override {{GeoPointPrefixTermsEnum.accept}} to "seek" to the  "floor" range 
of the candidate term. This boosts query performance by eliminating superfluous 
range visits.
* fixed bug in {{GeoEncodingUtils.geoCodedToPrefixCodedBytes}} and 
{{.getPrefixCodedLongShift}} that was ignoring the {{BytesRef.offset}} variable

I'm going to open up another query performance improvement issue that switches 
from comparing BytesRefs to directly comparing the long encoded range values. 
This will instead convert candidate terms to their encoded range values and 
eliminate the need for constantly converting ranges to BytesRefs for 
comparisons.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch, 
> LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Attachment: LUCENE-6930.patch

Updated patch to include the following:

* incorporate review feedback
* override {{GeoPointPrefixTermsEnum.accept}} to "seek" to the  "floor" range 
of the candidate term. This boosts query performance by eliminating superfluous 
range visits.
* fixed bug in {{GeoEncodingUtils.geoCodedToPrefixCodedBytes}} and 
{{.getPrefixCodedLongShift}} that was ignoring the {{BytesRef.offset}} variable

I'm going to open up another query performance improvement issue that switches 
from comparing BytesRefs to directly comparing the long encoded range values. 
This will instead convert candidate terms to their encoded range values and 
eliminate the need for constantly converting ranges to BytesRefs for 
comparisons.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch, 
> LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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-6994) GeoUtils Distance accuracy degrades with irregular rectangles

2016-01-25 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6994:
--

 Summary: GeoUtils Distance accuracy degrades with irregular 
rectangles
 Key: LUCENE-6994
 URL: https://issues.apache.org/jira/browse/LUCENE-6994
 Project: Lucene - Core
  Issue Type: Bug
Reporter: Nicholas Knize


This is a continuation of LUCENE-6908 which validates USGS accuracy of 0.5% for 
Sinnott haversine distance calculation. The issue also introduced a space 
segmentation approach for BKD distance queries near the poles. In LUCENE-6956 a 
restriction on distance size was initially removed to randomly test BKD 
distance queries at any range. This revealed an issue where distance error 
nearly doubles for exotic rectangles created by BKD's split algorithm. This 
issue will investigate potential distance error caused by the segmentation 
approach introduced in the second part of LUCENE-6908.



--
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] [Updated] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6956:
---
Attachment: LUCENE-6956.patch

Updated patch to address comments.  Note: distance size restriction was added 
back and new issue LUCENE-6994 was opened to investigate distance accuracy 
issues.

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch, 
> LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] 

[jira] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-25 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


bq. Hmm I hit this failure with the patch after a some beasting

Dug deeper and this error revealed a 2x accuracy issue with large exotic 
rectangles created by the BKD split approach. (different from the pole 
crossing). I added back the distance restriction and opened LUCENE-6994 to 
address the accuracy issue.

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch, 
> LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   

[jira] [Updated] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-24 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6956:
---
Attachment: LUCENE-6956.patch

Updated patch that includes all feedback.

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29929
>[junit4]   1>  

[jira] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-24 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


done!

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29929
>[junit4]   1>   lat=86.84285902418196 

[jira] [Commented] (LUCENE-6974) TesGeoPointQuery failures: some hits were wrong (should not match but did)

2016-01-22 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6974:


It can be resolved. Looks like I don't have that power on this issue. :/

> TesGeoPointQuery failures: some hits were wrong (should not match but did)
> --
>
> Key: LUCENE-6974
> URL: https://issues.apache.org/jira/browse/LUCENE-6974
> Project: Lucene - Core
>  Issue Type: Bug
>Affects Versions: Trunk
>Reporter: Steve Rowe
> Attachments: LUCENE-6974.patch
>
>
> Reproducible failure from Policeman Jenkins 
> [http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Linux/15540/]:
> {noformat}
>[junit4] Suite: org.apache.lucene.search.TestGeoPointQuery
>[junit4]   1> T0: id=1 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=1
>[junit4]   1>   lat=-38.94430998712778 lon=4.362290930002928
>[junit4]   1>   deleted?=false
>[junit4]   2> JAN 13, 2016 6:53:32 R? 
> com.carrotsearch.randomizedtesting.RandomizedRunner$QueueUncaughtExceptionsHandler
>  uncaughtException
>[junit4]   2> WARNING: Uncaught exception in thread: 
> Thread[T0,5,TGRP-TestGeoPointQuery]
>[junit4]   2> java.lang.AssertionError: some hits were wrong
>[junit4]   2>  at 
> __randomizedtesting.SeedInfo.seed([30950A47BB2DFA04]:0)
>[junit4]   2>  at org.junit.Assert.fail(Assert.java:93)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$VerifyHits.test(BaseGeoPointTestCase.java:554)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2._run(BaseGeoPointTestCase.java:758)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2.run(BaseGeoPointTestCase.java:625)
>[junit4]   2> 
>[junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestGeoPointQuery 
> -Dtests.method=testRandomTiny -Dtests.seed=30950A47BB2DFA04 
> -Dtests.multiplier=3 -Dtests.slow=true -Dtests.locale=mer_KE 
> -Dtests.timezone=America/Martinique -Dtests.asserts=true 
> -Dtests.file.encoding=US-ASCII
>[junit4] ERROR   0.93s J0 | TestGeoPointQuery.testRandomTiny <<<
>[junit4]> Throwable #1: java.lang.AssertionError
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.verify(BaseGeoPointTestCase.java:772)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.doTestRandom(BaseGeoPointTestCase.java:411)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.testRandomTiny(BaseGeoPointTestCase.java:331)
>[junit4]>  at java.lang.Thread.run(Thread.java:747)Throwable #2: 
> com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an 
> uncaught exception in thread: Thread[id=57, name=T0, state=RUNNABLE, 
> group=TGRP-TestGeoPointQuery]
>[junit4]> Caused by: java.lang.AssertionError: some hits were wrong
>[junit4]>  at 
> __randomizedtesting.SeedInfo.seed([30950A47BB2DFA04]:0)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$VerifyHits.test(BaseGeoPointTestCase.java:554)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2._run(BaseGeoPointTestCase.java:758)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2.run(BaseGeoPointTestCase.java:625)
>[junit4] IGNOR/A 0.01s J0 | TestGeoPointQuery.testRandomBig
>[junit4]> Assumption #1: 'nightly' test group is disabled (@Nightly())
>[junit4] IGNOR/A 0.00s J0 | TestGeoPointQuery.testAllLatEqual
>[junit4]> Assumption #1: GeoPoint*Query is too slow otherwise
>[junit4]   1> T1: id=15902 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=714
>[junit4]   1>   lat=-38.95061678253114 lon=5.752138886600733
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=16650 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=739
>[junit4]   1>   lat=-38.94194939173758 lon=5.094362664967775
>[junit4]   1>   deleted?=false
>[junit4]   1> 

[jira] [Resolved] (LUCENE-6974) TesGeoPointQuery failures: some hits were wrong (should not match but did)

2016-01-22 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6974.

Resolution: Resolved

> TesGeoPointQuery failures: some hits were wrong (should not match but did)
> --
>
> Key: LUCENE-6974
> URL: https://issues.apache.org/jira/browse/LUCENE-6974
> Project: Lucene - Core
>  Issue Type: Bug
>Affects Versions: Trunk
>Reporter: Steve Rowe
> Attachments: LUCENE-6974.patch
>
>
> Reproducible failure from Policeman Jenkins 
> [http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Linux/15540/]:
> {noformat}
>[junit4] Suite: org.apache.lucene.search.TestGeoPointQuery
>[junit4]   1> T0: id=1 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=1
>[junit4]   1>   lat=-38.94430998712778 lon=4.362290930002928
>[junit4]   1>   deleted?=false
>[junit4]   2> JAN 13, 2016 6:53:32 R? 
> com.carrotsearch.randomizedtesting.RandomizedRunner$QueueUncaughtExceptionsHandler
>  uncaughtException
>[junit4]   2> WARNING: Uncaught exception in thread: 
> Thread[T0,5,TGRP-TestGeoPointQuery]
>[junit4]   2> java.lang.AssertionError: some hits were wrong
>[junit4]   2>  at 
> __randomizedtesting.SeedInfo.seed([30950A47BB2DFA04]:0)
>[junit4]   2>  at org.junit.Assert.fail(Assert.java:93)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$VerifyHits.test(BaseGeoPointTestCase.java:554)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2._run(BaseGeoPointTestCase.java:758)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2.run(BaseGeoPointTestCase.java:625)
>[junit4]   2> 
>[junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestGeoPointQuery 
> -Dtests.method=testRandomTiny -Dtests.seed=30950A47BB2DFA04 
> -Dtests.multiplier=3 -Dtests.slow=true -Dtests.locale=mer_KE 
> -Dtests.timezone=America/Martinique -Dtests.asserts=true 
> -Dtests.file.encoding=US-ASCII
>[junit4] ERROR   0.93s J0 | TestGeoPointQuery.testRandomTiny <<<
>[junit4]> Throwable #1: java.lang.AssertionError
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.verify(BaseGeoPointTestCase.java:772)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.doTestRandom(BaseGeoPointTestCase.java:411)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.testRandomTiny(BaseGeoPointTestCase.java:331)
>[junit4]>  at java.lang.Thread.run(Thread.java:747)Throwable #2: 
> com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an 
> uncaught exception in thread: Thread[id=57, name=T0, state=RUNNABLE, 
> group=TGRP-TestGeoPointQuery]
>[junit4]> Caused by: java.lang.AssertionError: some hits were wrong
>[junit4]>  at 
> __randomizedtesting.SeedInfo.seed([30950A47BB2DFA04]:0)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$VerifyHits.test(BaseGeoPointTestCase.java:554)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2._run(BaseGeoPointTestCase.java:758)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2.run(BaseGeoPointTestCase.java:625)
>[junit4] IGNOR/A 0.01s J0 | TestGeoPointQuery.testRandomBig
>[junit4]> Assumption #1: 'nightly' test group is disabled (@Nightly())
>[junit4] IGNOR/A 0.00s J0 | TestGeoPointQuery.testAllLatEqual
>[junit4]> Assumption #1: GeoPoint*Query is too slow otherwise
>[junit4]   1> T1: id=15902 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=714
>[junit4]   1>   lat=-38.95061678253114 lon=5.752138886600733
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=16650 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=739
>[junit4]   1>   lat=-38.94194939173758 lon=5.094362664967775
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=16686 should not match but did
>[junit4]   1>   small=true 

[jira] [Commented] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-22 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6930:


That's unrelated to this patch. Its from nuking the pre-quantization in the 
tests and is being fixed by LUCENE-6956.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Updated] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-21 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6956:
---
Attachment: LUCENE-6956.patch

The issue is related to the performance improvements added in LUCENE-6951. That 
approximation exploits characteristics of the range based GeoPoint encoding 
which are "well formed" quad cells.  Much like the issue seen with range 
queries and BKD's tendency to create exotic splits, the polygon approximation 
can fail with these irregular rectangles.

The attached patch changes the following:

* add the original rectCrossesPoly method and uses it for more "precise" 
relations required by BKD.
* remove tolerance comparisons from {{GeoRelationUtils.pointInRect}}. This 
method should operate independent of the tolerance factor.
* for LatLonPoint BoundingBox queries, ignore false positives/negatives that 
are within TOLERANCE rounding error

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 

[jira] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-21 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


Patch has been successfully beast tested and passes on the jenkins failures I 
was able to reproduce. I'm unable to reproduce some of the java 9 failures due 
to a {{java.util.IllformedLocaleException}} so if there are no objections I'll 
commit this fix shortly and get jenkins working on it. 

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: 

[jira] [Updated] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-21 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6956:
---
Attachment: LUCENE-6956.patch

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29929
>[junit4]   1>   lat=86.84285902418196 lon=-9.196635894477367
>[junit4]   

[jira] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-21 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


That was my fault, stale change. Reverted and updated the patch.

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29929
>

[jira] [Commented] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-21 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6930:


It's related to {{TOLERANCE}} and that {{computeMaxShift}} in this patch is 
reused for all query types. So the depth of traversal for distanceQueries may 
vary slightly. The effect is that trunk has a handful of false negatives that 
this patch has picked up. The tests don't report them as failures because the 
deltas are within the {{TOLERANCE}}.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-21 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


Sure [~thetaphi]. Just tried w/ java 7, 8, and 9. Same exception on all. Looks 
like its related to the {{mer_KE}} locale tag.

The exception:

{noformat}
   [junit4]   2> Jan 21, 2016 3:57:10 PM 
com.carrotsearch.randomizedtesting.RandomizedRunner runSuite
   [junit4]   2> SEVERE: Panic: RunListener hook shouldn't throw exceptions.
   [junit4]   2> java.lang.NullPointerException
   [junit4]   2>at 
org.apache.lucene.util.RunListenerPrintReproduceInfo.printDebuggingInformation(RunListenerPrintReproduceInfo.java:132)
   [junit4]   2>at 
org.apache.lucene.util.RunListenerPrintReproduceInfo.testRunFinished(RunListenerPrintReproduceInfo.java:119)
   [junit4]   2>at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:706)
   [junit4]   2>at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$200(RandomizedRunner.java:140)
   [junit4]   2>at 
com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:591)
   [junit4]   2> 
   [junit4] ERROR   0.00s | TestGeoPointQuery (suite) <<<
   [junit4]> Throwable #1: java.util.IllformedLocaleException: Invalid 
subtag: mer_KE [at index 0]
   [junit4]>at 
__randomizedtesting.SeedInfo.seed([30950A47BB2DFA04]:0)
   [junit4]>at 
java.util.Locale$Builder.setLanguageTag(Locale.java:2426)
   [junit4]>at 
org.apache.lucene.util.LuceneTestCase.localeForLanguageTag(LuceneTestCase.java:1530)
   [junit4]>at java.lang.Thread.run(Thread.java:745)
   [junit4] Completed [1/1 (1!)] in 0.29s, 0 tests, 1 error <<< FAILURES!
{noformat}

reproduce with:

{noformat}
ant test  -Dtestcase=TestGeoPointQuery -Dtests.method=testRandomTiny 
-Dtests.seed=30950A47BB2DFA04 -Dtests.multiplier=3 -Dtests.slow=true 
-Dtests.locale=mer_KE -Dtests.timezone=America/Martinique -Dtests.asserts=true 
-Dtests.file.encoding=US-ASCII{noformat}

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   

[jira] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-21 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


Correct. I was testing against an old failure in an open issue. New style 
locale fixed it. Thx for the help!

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch, LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] 

[jira] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-21 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Attachment: LUCENE-6930.patch

Thanks for the great feedback [~mikemccand]  Patch updated with 
recommendations. 

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6956) TestBKDTree.testRandomMedium() failure: some hits were wrong

2016-01-21 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6956:


got it.. posted my reply 3 mins too late ;)  Thanks!

> TestBKDTree.testRandomMedium() failure: some hits were wrong
> 
>
> Key: LUCENE-6956
> URL: https://issues.apache.org/jira/browse/LUCENE-6956
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Steve Rowe
>Assignee: Michael McCandless
> Attachments: LUCENE-6956.patch
>
>
> My Jenkins found a reproducible seed for a failure of 
> {{TestBKDTree.testRandomMedium()}} on branch_5x with Java8:
> {noformat}
>   [junit4] Suite: org.apache.lucene.bkdtree.TestBKDTree
>[junit4]   1> T1: id=29784 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29528
>[junit4]   1>   lat=86.88086835667491 lon=-8.821268286556005
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29801 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29545
>[junit4]   1>   lat=86.88149104826152 lon=-9.34366637840867
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=29961 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29705
>[junit4]   1>   lat=86.8706679996103 lon=-9.38328042626381
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30015 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29759
>[junit4]   1>   lat=86.84762765653431 lon=-9.44802425801754
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30017 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29761
>[junit4]   1>   lat=86.8753323610872 lon=-9.091365560889244
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30042 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29786
>[junit4]   1>   lat=86.85837233439088 lon=-9.127480667084455
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30061 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29805
>[junit4]   1>   lat=86.85876209288836 lon=-9.408821929246187
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30077 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29821
>[junit4]   1>   lat=86.84681385755539 lon=-8.837449550628662
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=30185 should match but did not
>[junit4]   1>   small=true query=BKDPointInPolygonQuery: field=point: 
> Points: [-9.594408497214317, 86.83882305398583] [-9.594408497214317, 
> 86.8827043287456] [-8.752231243997812, 86.8827043287456] [-8.752231243997812, 
> 86.83882305398583] [-9.594408497214317, 86.83882305398583]  docID=29929
>[junit4]   1>   

[jira] [Resolved] (LUCENE-6897) Fix maxRadius at pole for GeoPointDistanceQuery

2016-01-19 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6897.

   Resolution: Resolved
Fix Version/s: 5.4

Resolved by LUCENE-6905

> Fix maxRadius at pole for GeoPointDistanceQuery
> ---
>
> Key: LUCENE-6897
> URL: https://issues.apache.org/jira/browse/LUCENE-6897
> Project: Lucene - Core
>  Issue Type: Bug
>Affects Versions: 5.4, Trunk
>Reporter: Nicholas Knize
> Fix For: 5.4
>
>
> At the moment GeoPointDistanceQuery throws and IllegalArgumentException if 
> the distance exceeds the maximum radial distance on the earth's surface. At 
> the pole, however, the radial distance should be no greater than the maximum 
> meridian distance on the ellipsoid. This issue will correct the maximum 
> radius check to handle center points at the poles.



--
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] [Resolved] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2016-01-18 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6908.

Resolution: Fixed

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch, LUCENE-6908.patch, 
> LUCENE-6908.patch, LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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] [Commented] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-18 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6930:


Try again with the new patch. I guess diff didn't like the way I refactored 
{{GeoUtils}} and adding another new {{GeoUtils}} class.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Comment Edited] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-18 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6930 at 1/19/16 12:19 AM:
--

Try again with the new patch. I guess diff didn't like the way I refactored 
{{GeoUtils}} and added another new {{GeoUtils}} class.


was (Author: nknize):
Try again with the new patch. I guess diff didn't like the way I refactored 
{{GeoUtils}} and adding another new {{GeoUtils}} class.

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-18 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6930:


Nice!!! Thanks for that protip! That certainly would have come in handy in this 
situation. 

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-18 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Attachment: LUCENE-6930.patch

> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch, LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2016-01-18 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Attachment: LUCENE-6930.patch

Attached patch adds the following changes:

* Adds a new {{GeoPointTokenStream}} that encodes {{GeoPointField}} type into a 
maximum of 5 "prefix only" terms. Full precision post filtering uses DocValues.
* Adds a {{GeoPointTermQuery.TermEncoding}} enum to choose between existing 
{{NUMERIC}} encoding or new {{PREFIX}} encoding 
* Refactors {{GeoPointTermsEnum}} into a base class with two derived classes:
** {{GeoPointNumericTermsEnum}} - Uses existing {{NumericTokenStream}} logic
** {{GeoPointPrefixTermsEnum}} - Uses new {{GeoPointTokenStream}} logic
* Refactors term encoding logic out of {{GeoUtils}} into a dedicated 
{{GeoEncodingUtils}} class
* Adds {{randomTermEncoding}} to {{TestGeoPointQuery}} to randomly test both 
encoding approaches

Quick luceneutil benchmarks: 76% reduction in index size, 81% boost in indexing 
performance, 19% average boost in query performance.






> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6930.patch
>
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Updated] (LUCENE-6974) TesGeoPointQuery failures: some hits were wrong (should not match but did)

2016-01-13 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6974:
---
Attachment: LUCENE-6974.patch

Patch to fix simple bug in the horizontal collinear case. This also adds a 
short-cut to rectWithinPoly to bail when candidate rectangle crosses the 
bounding box.

> TesGeoPointQuery failures: some hits were wrong (should not match but did)
> --
>
> Key: LUCENE-6974
> URL: https://issues.apache.org/jira/browse/LUCENE-6974
> Project: Lucene - Core
>  Issue Type: Bug
>Affects Versions: Trunk
>Reporter: Steve Rowe
> Attachments: LUCENE-6974.patch
>
>
> Reproducible failure from Policeman Jenkins 
> [http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Linux/15540/]:
> {noformat}
>[junit4] Suite: org.apache.lucene.search.TestGeoPointQuery
>[junit4]   1> T0: id=1 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=1
>[junit4]   1>   lat=-38.94430998712778 lon=4.362290930002928
>[junit4]   1>   deleted?=false
>[junit4]   2> JAN 13, 2016 6:53:32 R? 
> com.carrotsearch.randomizedtesting.RandomizedRunner$QueueUncaughtExceptionsHandler
>  uncaughtException
>[junit4]   2> WARNING: Uncaught exception in thread: 
> Thread[T0,5,TGRP-TestGeoPointQuery]
>[junit4]   2> java.lang.AssertionError: some hits were wrong
>[junit4]   2>  at 
> __randomizedtesting.SeedInfo.seed([30950A47BB2DFA04]:0)
>[junit4]   2>  at org.junit.Assert.fail(Assert.java:93)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$VerifyHits.test(BaseGeoPointTestCase.java:554)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2._run(BaseGeoPointTestCase.java:758)
>[junit4]   2>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2.run(BaseGeoPointTestCase.java:625)
>[junit4]   2> 
>[junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestGeoPointQuery 
> -Dtests.method=testRandomTiny -Dtests.seed=30950A47BB2DFA04 
> -Dtests.multiplier=3 -Dtests.slow=true -Dtests.locale=mer_KE 
> -Dtests.timezone=America/Martinique -Dtests.asserts=true 
> -Dtests.file.encoding=US-ASCII
>[junit4] ERROR   0.93s J0 | TestGeoPointQuery.testRandomTiny <<<
>[junit4]> Throwable #1: java.lang.AssertionError
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.verify(BaseGeoPointTestCase.java:772)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.doTestRandom(BaseGeoPointTestCase.java:411)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase.testRandomTiny(BaseGeoPointTestCase.java:331)
>[junit4]>  at java.lang.Thread.run(Thread.java:747)Throwable #2: 
> com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an 
> uncaught exception in thread: Thread[id=57, name=T0, state=RUNNABLE, 
> group=TGRP-TestGeoPointQuery]
>[junit4]> Caused by: java.lang.AssertionError: some hits were wrong
>[junit4]>  at 
> __randomizedtesting.SeedInfo.seed([30950A47BB2DFA04]:0)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$VerifyHits.test(BaseGeoPointTestCase.java:554)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2._run(BaseGeoPointTestCase.java:758)
>[junit4]>  at 
> org.apache.lucene.util.BaseGeoPointTestCase$2.run(BaseGeoPointTestCase.java:625)
>[junit4] IGNOR/A 0.01s J0 | TestGeoPointQuery.testRandomBig
>[junit4]> Assumption #1: 'nightly' test group is disabled (@Nightly())
>[junit4] IGNOR/A 0.00s J0 | TestGeoPointQuery.testAllLatEqual
>[junit4]> Assumption #1: GeoPoint*Query is too slow otherwise
>[junit4]   1> T1: id=15902 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=714
>[junit4]   1>   lat=-38.95061678253114 lon=5.752138886600733
>[junit4]   1>   deleted?=false
>[junit4]   1> T1: id=16650 should not match but did
>[junit4]   1>   small=true query=GeoPointInPolygonQuery: field=point: 
> Points: [4.3475002236664295, -39.484346117824316] [4.3475002236664295, 
> -38.95751953125] [5.824887603521347, -38.95751953125] [5.824887603521347, 
> -39.484346117824316] [4.3475002236664295, -39.484346117824316]  docID=739
>[junit4]   1>   

[jira] [Resolved] (LUCENE-6951) GeoPointInPolygonQuery can be improved

2016-01-13 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6951.

Resolution: Resolved

> GeoPointInPolygonQuery can be improved
> --
>
> Key: LUCENE-6951
> URL: https://issues.apache.org/jira/browse/LUCENE-6951
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6951.patch
>
>
> {{GeoRelationutils}} uses a basic algebraic approach for computing if (and 
> where) a rectangle crosses a polygon by checking the line segments of both 
> the polygon and rectangle. The current suboptimal line crossing approach can 
> be greatly improved by exploiting the orientation of the lines and endpoints. 
> If the endpoints of one line are on different "sides" of the line segment 
> then  the two may cross. 



--
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] [Updated] (LUCENE-6951) GeoPointInPolygonQuery can be improved

2015-12-29 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6951:
---
Attachment: LUCENE-6951.patch

Patch includes:

* Updated line crossing algorithm to use point orientation
* Updated GPTQ ConstantScoreWrapper MultiValue check to add doc when 1 point is 
found within the poly - avoids superflous pip checking if the doc is already a 
match
* Tests indicate up to 45% boost in GeoPointInPolygonQuery performance

> GeoPointInPolygonQuery can be improved
> --
>
> Key: LUCENE-6951
> URL: https://issues.apache.org/jira/browse/LUCENE-6951
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Attachments: LUCENE-6951.patch
>
>
> {{GeoRelationutils}} uses a basic algebraic approach for computing if (and 
> where) a rectangle crosses a polygon by checking the line segments of both 
> the polygon and rectangle. The current suboptimal line crossing approach can 
> be greatly improved by exploiting the orientation of the lines and endpoints. 
> If the endpoints of one line are on different "sides" of the line segment 
> then  the two may cross. 



--
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] [Updated] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-28 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6908:
---
Attachment: LUCENE-6908.patch

Updated patch includes:

* space segmentation for irregular rectangles at the poles
* utility method for computing bearing from two given lat/lon points
* explicitly tested against failed seeds and nightly beasting
* updated javadocs 

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch, LUCENE-6908.patch, 
> LUCENE-6908.patch, LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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-6951) GeoPointInPolygonQuery can be improved

2015-12-28 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6951:
--

 Summary: GeoPointInPolygonQuery can be improved
 Key: LUCENE-6951
 URL: https://issues.apache.org/jira/browse/LUCENE-6951
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Nicholas Knize


{{GeoRelationutils}} uses a basic algebraic approach for computing if (and 
where) a rectangle crosses a polygon by checking the line segments of both the 
polygon and rectangle. The current suboptimal line crossing approach can be 
greatly improved by exploiting the orientation of the lines and endpoints. If 
the endpoints of one line are on different "sides" of the line segment then  
the two may cross. 



--
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] [Commented] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-22 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6908:


++ Thanks [~steve_rowe] There's a geometric approximation in the within that's 
a bit too lenient for BKD. These seeds have been super helpful in regression 
testing a fix. Should have a patch shortly. Sorry for the noise!

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch, LUCENE-6908.patch, 
> LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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-6935) Improve random testing for GeoPointPointInPolygonQuery and DimensionalPointInPolygonQuery

2015-12-16 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6935:
--

 Summary: Improve random testing for GeoPointPointInPolygonQuery 
and DimensionalPointInPolygonQuery
 Key: LUCENE-6935
 URL: https://issues.apache.org/jira/browse/LUCENE-6935
 Project: Lucene - Core
  Issue Type: Test
Reporter: Nicholas Knize
Priority: Minor


Currently {{TestGeoPointQuery}} and {{TestDimensionalQueries}} only create 
bounding box polygons to test {{PointInPolygonQuery}}. This provides coverage 
for testing basic functionality but lacks critical testing with true random 
shapes. Random shape generation needs to be added to {{BaseGeoPointTestCase}} 
and used in {{newPolygonQuery}} for GeoPoint and DimensionalQuery testing.



--
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-6930) Decouple GeoPointField from NumericType

2015-12-14 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6930:
--

 Summary: Decouple GeoPointField from NumericType
 Key: LUCENE-6930
 URL: https://issues.apache.org/jira/browse/LUCENE-6930
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Nicholas Knize


{{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
terms for a GeoPoint using the precision step defined in {{GeoPointField}}. At 
search time {{GeoPointTermsEnum}} recurses to a max precision that is computed 
by the Query parameters. This max precision is never the full precision, so 
creating and indexing the full precision terms is useless and wasteful (it was 
always a side effect of just using indexing logic from the Numeric type). 

Furthermore, since the numerical logic always stored high precision terms 
first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} and 
reversing the term order (such that lower resolution terms are first), the 
GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
PrefixTerms.



--
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] [Updated] (LUCENE-6930) Decouple GeoPointField from NumericType

2015-12-14 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6930:
---
Description: 
{{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
terms for a GeoPoint using the precision step defined in {{GeoPointField}}. At 
search time {{GeoPointTermsEnum}} recurses to a max precision that is computed 
by the Query parameters. This max precision is never the full precision, so 
creating and indexing the full precision terms is useless and wasteful (it was 
always a side effect of just using indexing logic from the Numeric type). 

Furthermore, since the numerical logic always stored high precision terms 
first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} and 
reversing the term order (such that lower resolution terms are first), the 
GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
PrefixTerms. This will be done in a separate issue.

  was:
{{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
terms for a GeoPoint using the precision step defined in {{GeoPointField}}. At 
search time {{GeoPointTermsEnum}} recurses to a max precision that is computed 
by the Query parameters. This max precision is never the full precision, so 
creating and indexing the full precision terms is useless and wasteful (it was 
always a side effect of just using indexing logic from the Numeric type). 

Furthermore, since the numerical logic always stored high precision terms 
first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} and 
reversing the term order (such that lower resolution terms are first), the 
GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
PrefixTerms.


> Decouple GeoPointField from NumericType
> ---
>
> Key: LUCENE-6930
> URL: https://issues.apache.org/jira/browse/LUCENE-6930
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
>
> {{GeoPointField}} currently relies on {{NumericTokenStream}} to create prefix 
> terms for a GeoPoint using the precision step defined in {{GeoPointField}}. 
> At search time {{GeoPointTermsEnum}} recurses to a max precision that is 
> computed by the Query parameters. This max precision is never the full 
> precision, so creating and indexing the full precision terms is useless and 
> wasteful (it was always a side effect of just using indexing logic from the 
> Numeric type). 
> Furthermore, since the numerical logic always stored high precision terms 
> first, the recursion in {{GeoPointTermsEnum}} required transient memory for 
> storing ranges. By moving the trie logic to its own {{GeoPointTokenStream}} 
> and reversing the term order (such that lower resolution terms are first), 
> the GeoPointTermsEnum can naturally traverse, enabling on-demand creation of 
> PrefixTerms. This will be done in a separate issue.



--
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] [Commented] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-07 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6908:


Thanks [~mikemccand]! I plan to add the benchmark to luceneutil unless you 
think there's a better place for it? Going to commit shortly.

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch, LUCENE-6908.patch, 
> LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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] [Updated] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-02 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6908:
---
Attachment: LUCENE-6908.patch

Thanks [~mikemccand]! Fixed the patch to include GeoRelationUtils and changes 
to SloppyMath.

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch, LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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] [Updated] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-02 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6908:
---
Attachment: LUCENE-6908.patch

Thanks [~mikemccand]. In {{isClosestPointOnRectWithinRange}} it was still using 
{{SloppyMath.haversin}} where it should have been using the Sinnott haversine. 
Looks like it was caused by a premature diff from my benchmark workspace.

A quick interesting benchmark re: distance methods. Using 2M iterations I 
benchmarked average computation time, average spatial error, and maximum 
spatial error between 5 different geospatial distance methods:
* Vincenty
* Karney - Modified Vincenty that uses Newton's series expansion to fix 
problems w/ antipodal points
* HaverECF - Same as {{SloppyMath.haversin}} but uses ECEF to accurately 
compute semi-major axis at the given latitude.
* Sinnott's Haversine - Implementation from the original haversine publicatoin
* SloppyMath 

|| Distance Method || Avg Computation (ns) || Avg Error (%) || Max Error (%) || 
| Vincenty | 1286.5529689998828 | 8.4561794778802E-11 | 7.2565793775802E-10 | 
| Karney | 31770.47920646 | 8.4561794778802E-11 | 7.2565793775802E-10 |
| HaverECF | 717.113985152 | 0.18409042301798453 | 0.6681179192384695 |
| SloppyMath.haverin | 159.309524995 | 0.22594450803222424 | 
0.6539314586426048 |
| Sinnott Haversine | 146.8123669738 | 0.18158435835918563 | 
0.4931242857748373 |

I need to run some better descriptive statistics before drawing any 
conclusions. At the moment, the discrepancy between {{Sloppymath.haversin}} and 
Sinnott's implementation is consistent with the error described in the original 
publication (which is where the tolerance of 0.5% originated).

More to come

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch, LUCENE-6908.patch, 
> LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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] [Comment Edited] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-02 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6908 at 12/2/15 11:48 PM:
--

Thanks [~mikemccand]. In {{isClosestPointOnRectWithinRange}} it was still using 
{{SloppyMath.haversin}} where it should have been using the Sinnott haversine. 
Looks like it was caused by a premature diff from my benchmark workspace.

A quick interesting benchmark re: distance methods. Using 2M iterations I 
benchmarked average computation time, average spatial error, and maximum 
spatial error between 5 different geospatial distance methods:
* Vincenty
* Karney - Modified Vincenty that uses Newton's series expansion to fix 
problems w/ antipodal points
* HaverECF - Same as {{SloppyMath.haversin}} but uses ECEF to accurately 
compute semi-major axis at the given latitude.
* Sinnott's Haversine - Implementation from the original haversine publication
* SloppyMath.haversin 

|| Distance Method || Avg Computation (ns) || Avg Error (%) || Max Error (%) || 
| Vincenty | 1286.5529689998828 | 8.4561794778802E-11 | 7.2565793775802E-10 | 
| Karney | 31770.47920646 | 8.4561794778802E-11 | 7.2565793775802E-10 |
| HaverECF | 717.113985152 | 0.18409042301798453 | 0.6681179192384695 |
| SloppyMath.haverin | 159.309524995 | 0.22594450803222424 | 
0.6539314586426048 |
| Sinnott Haversine | 146.8123669738 | 0.18158435835918563 | 
0.4931242857748373 |

I need to run some better descriptive statistics before drawing any 
conclusions. At the moment, the discrepancy between {{Sloppymath.haversin}} and 
Sinnott's implementation is consistent with the error described in the original 
publication (which is where the tolerance of 0.5% originated).

More to come


was (Author: nknize):
Thanks [~mikemccand]. In {{isClosestPointOnRectWithinRange}} it was still using 
{{SloppyMath.haversin}} where it should have been using the Sinnott haversine. 
Looks like it was caused by a premature diff from my benchmark workspace.

A quick interesting benchmark re: distance methods. Using 2M iterations I 
benchmarked average computation time, average spatial error, and maximum 
spatial error between 5 different geospatial distance methods:
* Vincenty
* Karney - Modified Vincenty that uses Newton's series expansion to fix 
problems w/ antipodal points
* HaverECF - Same as {{SloppyMath.haversin}} but uses ECEF to accurately 
compute semi-major axis at the given latitude.
* Sinnott's Haversine - Implementation from the original haversine publicatoin
* SloppyMath 

|| Distance Method || Avg Computation (ns) || Avg Error (%) || Max Error (%) || 
| Vincenty | 1286.5529689998828 | 8.4561794778802E-11 | 7.2565793775802E-10 | 
| Karney | 31770.47920646 | 8.4561794778802E-11 | 7.2565793775802E-10 |
| HaverECF | 717.113985152 | 0.18409042301798453 | 0.6681179192384695 |
| SloppyMath.haverin | 159.309524995 | 0.22594450803222424 | 
0.6539314586426048 |
| Sinnott Haversine | 146.8123669738 | 0.18158435835918563 | 
0.4931242857748373 |

I need to run some better descriptive statistics before drawing any 
conclusions. At the moment, the discrepancy between {{Sloppymath.haversin}} and 
Sinnott's implementation is consistent with the error described in the original 
publication (which is where the tolerance of 0.5% originated).

More to come

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch, LUCENE-6908.patch, 
> LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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] [Updated] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6908:
---
Attachment: LUCENE-6908.patch

Updated patch includes the following:

* Pushes down approximation fixes to the Geo utility APIs
* Refactors relation logic from {{GeoUtils}} into separate {{GeoRelationUtils}} 
class
* Improves GeoDistance pole crossing by re-projecting to Earth Centered Earth 
Fixed (ECEF)
* Adds {{approx}} flag to bypass advanced relation logic (useful for 
{{GeoPointField}} since approximations are already handled at the grid level
* Removes {{AwaitsFix}} from {{TestGeoUtils.testGeoRelations}}

Next step is to test w/ BKD integration.

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch, LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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] [Updated] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-12-01 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6908:
---
Description: The {{.testGeoRelations}} method doesn't exactly test the 
behavior of GeoPoint*Query as its using the BKD split technique (instead of 
quad cell division) to divide the space on each pass. For "large" distance 
queries this can create a lot of irregular rectangles producing large radial 
distortion error when using the cartesian approximation methods provided by 
{{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
approximation methods on irregular rectangles without having to cut over to an 
expensive oblate geometry approach.  (was: The {{.testGeoRelations}} method 
doesn't exactly test the behavior of GeoPoint*Query as its using the BKD split 
technique (instead of quad cell division) to divide the space on each pass. For 
"large" distance queries this can create a lot of irregular rectangles 
producing large radial distortion error when using the cartesian approximation 
methods provided by {{GeoUtils}}. This issue will better divide the space 
enabling use of the fast cartesian approximation methods instead of having to 
convert to an expensive oblate geometry approach.)

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue improves the accuracy of GeoUtils cartesian 
> approximation methods on irregular rectangles without having to cut over to 
> an expensive oblate geometry approach.



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Issue Type: Bug  (was: Improvement)

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Commented] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-25 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6905:


thanks [~mikemccand]. I went ahead and added the jenkins failure as an explicit 
test. I'll commit shortly. 

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch, 
> LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Resolved] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6905.

Resolution: Fixed

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch, 
> LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: LUCENE-6905.patch

Updated patch:
* moves unwrapping into {{GeoPointDistanceQuery}}
* removes 7% tolerance - will be addressed by LUCENE-6908



> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: LUCENE-6905.patch

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch, 
> LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: (was: LUCENE-6905.patch)

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-25 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: LUCENE-6905.patch

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch, 
> LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Commented] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6905:


bq. For the record, MBR in geo speak means "minimum bounding rectangle"

yesyes! Updated the comment to spell out the acronym.

bq. We should fix this test to "behave" like the query does: rewrite up front 
into the two halves of the MBR

Are you referring to {{TestGeoUtils.testGeoRelations}}? {{unwrapLon}} is only 
called iff the bbox crosses the dateline. Which behaves like the 
{{GeoPointDistanceQueryImpl}} does.

Also, after digging a little bit more I've decided to move the 
TestGeoUtils.testGeoRelations fixes to LUCENE-6846 (patch coming next). The 
{{.testGeoRelations}} method doesn't exactly test the behavior of 
GeoPoint*Query as its using the BKD split technique (instead of quad cell 
division) to divide the space on each pass. For "large" distance queries this 
can create a lot of irregular rectangles producing large radial distortion 
error when using the cartesian approximation methods provided by {{GeoUtils}}. 
I have a "rewrite" fix that I'll attach to LUCENE-6846 that further divides the 
space allowing us to use the fast cartesian approximation methods instead of 
converting to an expensive oblate geometry approach.

bq. Can we now remove the true in {{TestGeoUtils.testGeoRelations}}

Also doing this in LUCENE-6846.

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Commented] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6905:


Jenkins did catch this, eventually. Looking at the randomization it looks like 
the probability of producing this case is quite low. The LUCENE-6846 patch will 
re-enable large distances and {{testGeoRelations}} which will produce more of 
these edge cases.

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: LUCENE-6905.patch

New patch to focus on unwrapping only.

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: LUCENE-6905.patch

Updated patch to correct path

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch, 
> LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: (was: LUCENE-6905.patch)

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-11-23 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6908:
--

 Summary: TestGeoUtils.testGeoRelations is buggy with irregular 
rectangles
 Key: LUCENE-6908
 URL: https://issues.apache.org/jira/browse/LUCENE-6908
 Project: Lucene - Core
  Issue Type: Bug
Reporter: Nicholas Knize


The {{.testGeoRelations}} method doesn't exactly test the behavior of 
GeoPoint*Query as its using the BKD split technique (instead of quad cell 
division) to divide the space on each pass. For "large" distance queries this 
can create a lot of irregular rectangles producing large radial distortion 
error when using the cartesian approximation methods provided by {{GeoUtils}}. 
This issue will better divide the space enabling use of the fast cartesian 
approximation methods instead of having to convert to an expensive oblate 
geometry approach.



--
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] [Comment Edited] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6905 at 11/23/15 9:08 PM:
--

bq. For the record, MBR in geo speak means "minimum bounding rectangle"

yesyes! Updated the comment to spell out the acronym.

bq. We should fix this test to "behave" like the query does: rewrite up front 
into the two halves of the MBR

Are you referring to {{TestGeoUtils.testGeoRelations}}? {{unwrapLon}} is only 
called iff the bbox crosses the dateline. Which behaves like the 
{{GeoPointDistanceQueryImpl}} does.

Also, after digging a little bit more I've decided to move the 
TestGeoUtils.testGeoRelations fixes to new issue, LUCENE-6908 (patch coming 
next). The {{.testGeoRelations}} method doesn't exactly test the behavior of 
GeoPoint*Query as its using the BKD split technique (instead of quad cell 
division) to divide the space on each pass. For "large" distance queries this 
can create a lot of irregular rectangles producing large radial distortion 
error when using the cartesian approximation methods provided by {{GeoUtils}}. 
I have a "rewrite" fix that I'll attach to LUCENE-6908 that further divides the 
space allowing us to use the fast cartesian approximation methods instead of 
converting to an expensive oblate geometry approach.

bq. Can we now remove the true in {{TestGeoUtils.testGeoRelations}}

Also doing this in LUCENE-6908.


was (Author: nknize):
bq. For the record, MBR in geo speak means "minimum bounding rectangle"

yesyes! Updated the comment to spell out the acronym.

bq. We should fix this test to "behave" like the query does: rewrite up front 
into the two halves of the MBR

Are you referring to {{TestGeoUtils.testGeoRelations}}? {{unwrapLon}} is only 
called iff the bbox crosses the dateline. Which behaves like the 
{{GeoPointDistanceQueryImpl}} does.

Also, after digging a little bit more I've decided to move the 
TestGeoUtils.testGeoRelations fixes to LUCENE-6846 (patch coming next). The 
{{.testGeoRelations}} method doesn't exactly test the behavior of 
GeoPoint*Query as its using the BKD split technique (instead of quad cell 
division) to divide the space on each pass. For "large" distance queries this 
can create a lot of irregular rectangles producing large radial distortion 
error when using the cartesian approximation methods provided by {{GeoUtils}}. 
I have a "rewrite" fix that I'll attach to LUCENE-6846 that further divides the 
space allowing us to use the fast cartesian approximation methods instead of 
converting to an expensive oblate geometry approach.

bq. Can we now remove the true in {{TestGeoUtils.testGeoRelations}}

Also doing this in LUCENE-6846.

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Comment Edited] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6905 at 11/23/15 9:08 PM:
--

Jenkins did catch this, eventually. Looking at the randomization it looks like 
the probability of producing this case is quite low. The LUCENE-6908 patch will 
re-enable large distances and {{testGeoRelations}} which will produce more of 
these edge cases.


was (Author: nknize):
Jenkins did catch this, eventually. Looking at the randomization it looks like 
the probability of producing this case is quite low. The LUCENE-6846 patch will 
re-enable large distances and {{testGeoRelations}} which will produce more of 
these edge cases.

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6908) TestGeoUtils.testGeoRelations is buggy with irregular rectangles

2015-11-23 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6908:
---
Attachment: LUCENE-6908.patch

Patch includes:

* update {{testGeoRelations}} to rewrite longitudinal span queries into 4 
slices to reduce radial distortion error in {{GeoUtils}} cartesian 
approximation methods - this would be needed for BKD queries due to the nature 
of the split algorithm for large distance queries.

* Incorporate distance error on {{isClosestPointOnRectWIthinRange}} for better 
approximation within BKD.

* added comments and javadocs.

> TestGeoUtils.testGeoRelations is buggy with irregular rectangles
> 
>
> Key: LUCENE-6908
> URL: https://issues.apache.org/jira/browse/LUCENE-6908
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Attachments: LUCENE-6908.patch
>
>
> The {{.testGeoRelations}} method doesn't exactly test the behavior of 
> GeoPoint*Query as its using the BKD split technique (instead of quad cell 
> division) to divide the space on each pass. For "large" distance queries this 
> can create a lot of irregular rectangles producing large radial distortion 
> error when using the cartesian approximation methods provided by 
> {{GeoUtils}}. This issue will better divide the space enabling use of the 
> fast cartesian approximation methods instead of having to convert to an 
> expensive oblate geometry approach.



--
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] [Updated] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery

2015-11-23 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6904:
---
Fix Version/s: Trunk

> Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery
> 
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Fix For: Trunk
>
> Attachments: LUCENE-6904.patch, LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a FieldValueQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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] [Updated] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery

2015-11-23 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6904:
---
Fix Version/s: 5.4

> Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery
> 
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Fix For: Trunk, 5.4
>
> Attachments: LUCENE-6904.patch, LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a FieldValueQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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] [Resolved] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery

2015-11-23 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6904.

Resolution: Fixed

> Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery
> 
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Fix For: Trunk, 5.4
>
> Attachments: LUCENE-6904.patch, LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a FieldValueQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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] [Comment Edited] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-23 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6905 at 11/23/15 9:45 PM:
--

Updated patch to correct path and addresses review comments.


was (Author: nknize):
Updated patch to correct path

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-20 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Description: GeoPointDistanceQuery handles dateline crossing by splitting 
the Minimum Bounding Rectangle (MBR) into east/west ranges and rewriting to a 
Boolean SHOULD. PostFiltering is accomplished by calculating the distance from 
the center point to the candidate point field. Unfortunately the center point 
is wrapped such that calculating the closest point on the "circle" from an 
eastern point to a western MBR provides incorrect results thus causing false 
negatives in the range creation. This was caught by a jenkins failure and 
reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}  
(was: GeoPointDistanceQuery handles dateline crossing by splitting the MBR into 
east/west ranges and rewriting to a Boolean SHOULD. PostFiltering is 
accomplished by calculating the distance from the center point to the candidate 
point field. Unfortunately the center point is wrapped such that calculating 
the distance from a eastern point to a western MBR provides incorrect results.)

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the Minimum 
> Bounding Rectangle (MBR) into east/west ranges and rewriting to a Boolean 
> SHOULD. PostFiltering is accomplished by calculating the distance from the 
> center point to the candidate point field. Unfortunately the center point is 
> wrapped such that calculating the closest point on the "circle" from an 
> eastern point to a western MBR provides incorrect results thus causing false 
> negatives in the range creation. This was caught by a jenkins failure and 
> reproduced in 2 places: {{GeoPointDistanceTermsEnum}} and {{TestGeoRelations}}



--
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] [Updated] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery

2015-11-19 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6904:
---
Attachment: LUCENE-6904.patch

Simple change to rewrite GeoPointInBBoxQuery as a MatchAllDocsQuery when the 
maximum lon/lat bounds are specified. Updated tests included.

> Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery
> --
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Attachments: LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a MatchAllDocsQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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-6904) Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery

2015-11-19 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6904:
--

 Summary: Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery
 Key: LUCENE-6904
 URL: https://issues.apache.org/jira/browse/LUCENE-6904
 Project: Lucene - Core
  Issue Type: Improvement
Affects Versions: Trunk, 5.4
Reporter: Nicholas Knize
Priority: Minor


This simple improvement rewrites a GeoPointInBBoxQuery to a MatchAllDocsQuery 
when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-19 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: LUCENE-6905.patch

Simple patch that unwraps the center longitude such that distance is correctly 
computed. Also corrects maxRadialDistance for center location at the poles. 
This is fixes build failure #14669 and passes a 200 iteration beast test..

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the MBR into 
> east/west ranges and rewriting to a Boolean SHOULD. PostFiltering is 
> accomplished by calculating the distance from the center point to the 
> candidate point field. Unfortunately the center point is wrapped such that 
> calculating the distance from a eastern point to a western MBR provides 
> incorrect results.



--
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] [Commented] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery

2015-11-19 Thread Nicholas Knize (JIRA)

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

Nicholas Knize commented on LUCENE-6904:


/facepalm Just keeping you honest! :) New patch added.

> Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery
> --
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Attachments: LUCENE-6904.patch, LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a MatchAllDocsQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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] [Updated] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery

2015-11-19 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6904:
---
Attachment: LUCENE-6904.patch

Switching to FieldValueQuery.

> Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery
> --
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Attachments: LUCENE-6904.patch, LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a MatchAllDocsQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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] [Updated] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery

2015-11-19 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6904:
---
Description: This simple improvement rewrites a GeoPointInBBoxQuery to a 
FieldValueQuery when the min/max lon/lat (or x/y) values are set to their 
limits (e.g., -180, 180, -90, 90). This bypasses all unnecessary 
GeoPointTermsEnum logic.  (was: This simple improvement rewrites a 
GeoPointInBBoxQuery to a MatchAllDocsQuery when the min/max lon/lat (or x/y) 
values are set to their limits (e.g., -180, 180, -90, 90). This bypasses all 
unnecessary GeoPointTermsEnum logic.)

> Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery
> 
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Attachments: LUCENE-6904.patch, LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a FieldValueQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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] [Updated] (LUCENE-6904) Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery

2015-11-19 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6904:
---
Summary: Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery  (was: 
Rewrite max bound GeoPointInBBoxQuery to MatchAllDocsQuery)

> Rewrite max bound GeoPointInBBoxQuery to FieldValueQuery
> 
>
> Key: LUCENE-6904
> URL: https://issues.apache.org/jira/browse/LUCENE-6904
> Project: Lucene - Core
>  Issue Type: Improvement
>Affects Versions: Trunk, 5.4
>Reporter: Nicholas Knize
>Priority: Minor
> Attachments: LUCENE-6904.patch, LUCENE-6904.patch
>
>
> This simple improvement rewrites a GeoPointInBBoxQuery to a MatchAllDocsQuery 
> when the min/max lon/lat (or x/y) values are set to their limits (e.g., -180, 
> 180, -90, 90). This bypasses all unnecessary GeoPointTermsEnum logic.



--
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-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-19 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6905:
--

 Summary: GeoPointDistanceQuery using wrapped lon for dateline 
crossing query
 Key: LUCENE-6905
 URL: https://issues.apache.org/jira/browse/LUCENE-6905
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Nicholas Knize
 Fix For: Trunk, 6.0, 5.4


GeoPointDistanceQuery handles dateline crossing by splitting the MBR into 
east/west ranges and rewriting to a Boolean SHOULD. PostFiltering is 
accomplished by calculating the distance from the center point to the candidate 
point field. Unfortunately the center point is wrapped such that calculating 
the distance from a eastern point to a western MBR provides incorrect results.



--
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] [Comment Edited] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-19 Thread Nicholas Knize (JIRA)

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

Nicholas Knize edited comment on LUCENE-6905 at 11/20/15 5:04 AM:
--

Simple patch that unwraps the center longitude such that distance is correctly 
computed. Also corrects maxRadialDistance for center location at the poles. 
This fixes build failure #14669 and passes a 200 iteration beast test..


was (Author: nknize):
Simple patch that unwraps the center longitude such that distance is correctly 
computed. Also corrects maxRadialDistance for center location at the poles. 
This is fixes build failure #14669 and passes a 200 iteration beast test..

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the MBR into 
> east/west ranges and rewriting to a Boolean SHOULD. PostFiltering is 
> accomplished by calculating the distance from the center point to the 
> candidate point field. Unfortunately the center point is wrapped such that 
> calculating the distance from a eastern point to a western MBR provides 
> incorrect results.



--
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] [Updated] (LUCENE-6905) GeoPointDistanceQuery using wrapped lon for dateline crossing query

2015-11-19 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize updated LUCENE-6905:
---
Attachment: LUCENE-6905.patch

Updated patch that moves unwrapping to GeoUtils. 
{{TestGeoUtils.testGeoRelations}} is also reenabled and updated for BKD 
verification.  /cc [~mikemccand]

> GeoPointDistanceQuery using wrapped lon for dateline crossing query
> ---
>
> Key: LUCENE-6905
> URL: https://issues.apache.org/jira/browse/LUCENE-6905
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Nicholas Knize
> Fix For: Trunk, 6.0, 5.4
>
> Attachments: LUCENE-6905.patch, LUCENE-6905.patch
>
>
> GeoPointDistanceQuery handles dateline crossing by splitting the MBR into 
> east/west ranges and rewriting to a Boolean SHOULD. PostFiltering is 
> accomplished by calculating the distance from the center point to the 
> candidate point field. Unfortunately the center point is wrapped such that 
> calculating the distance from a eastern point to a western MBR provides 
> incorrect results.



--
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-6897) Fix maxRadius at pole for GeoPointDistanceQuery

2015-11-16 Thread Nicholas Knize (JIRA)
Nicholas Knize created LUCENE-6897:
--

 Summary: Fix maxRadius at pole for GeoPointDistanceQuery
 Key: LUCENE-6897
 URL: https://issues.apache.org/jira/browse/LUCENE-6897
 Project: Lucene - Core
  Issue Type: Bug
Affects Versions: Trunk, 6.0, 5.4
Reporter: Nicholas Knize


At the moment GeoPointDistanceQuery throws and IllegalArgumentException if the 
distance exceeds the maximum radial distance on the earth's surface. At the 
pole, however, the radial distance should be no greater than the maximum 
meridian distance on the ellipsoid. This issue will correct the maximum radius 
check to handle center points at the poles.



--
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] [Resolved] (LUCENE-6859) GeoPointInPolygonQuery occasionally fails with incorrect ranges

2015-10-28 Thread Nicholas Knize (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-6859?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas Knize resolved LUCENE-6859.

   Resolution: Fixed
Fix Version/s: 5.4
   Trunk

> GeoPointInPolygonQuery occasionally fails with incorrect ranges
> ---
>
> Key: LUCENE-6859
> URL: https://issues.apache.org/jira/browse/LUCENE-6859
> Project: Lucene - Core
>  Issue Type: Bug
>Reporter: Nicholas Knize
> Fix For: Trunk, 5.4
>
> Attachments: LUCENE-6859.patch
>
>
> With high resolution polygons (small sizes) GeoPolygonTermsEnum occasionally 
> fails to compute the correct number of ranges. In certain cases the TermsEnum 
> is completely empty. This leads to incorrect query results in the form of 
> both false positives and negatives. 



--
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



<    1   2   3   4   5   6   7   >