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

David Smiley commented on LUCENE-5056:
--------------------------------------

I was just thinking about this bug/shortcoming or whatever one might call it.  
There's an easy solution to this -- modify the algorithm that determines how 
many "levels" to go down so it's based on a Euclidean computation, not 
geodesic.  It means that the shape is going to be a lot more "blocky" 
(approximated) than the same same on the equator.  But I feel that doesn't 
matter, or at least it won't matter soon once RecursivePrefixTree & 
SerializedDVStrategy get linked up such that indexed non-point shapes will be 
validated for precision against the actual vector geometry.  Once that happens, 
it will matter very little how few grid cells represent a shape since you'll 
always have absolute precision as far as the shape geometry can calculate it.

> Indexing non-point shapes close to the poles doesn't scale
> ----------------------------------------------------------
>
>                 Key: LUCENE-5056
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5056
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial
>    Affects Versions: 4.3
>            Reporter: Hal Deadman
>            Assignee: David Smiley
>             Fix For: 4.8
>
>         Attachments: indexed circle close to the pole.png
>
>
> From: [~hdeadman]
> We are seeing an issue where certain shapes are causing Solr to use up all 
> available heap space when a record with one of those shapes is indexed. We 
> were indexing polygons where we had the points going clockwise instead of 
> counter-clockwise and the shape would be so large that we would run out of 
> memory. We fixed those shapes but we are seeing this circle eat up about 
> 700MB of memory before we get an OutOfMemory error (heap space) with a 1GB 
> JVM heap.
> Circle(3.0 90 d=0.0499542757922153)
> Google Earth can't plot that circle either, maybe it is invalid or too close 
> to the north pole due to the latitude of 90, but it would be nice if there 
> was a way for shapes to be validated before they cause an OOM error.
> The objects (4.5 million) are all GeohashPrefixTree$GhCell objects in an 
> ArrayList owned by PrefixTreeStrategy$CellTokenStream.
> Is there anyway to have a max number of cells in a shape before it is 
> considered too large and is not indexed? Is there a geo library that could 
> validate the shape as being reasonably sized and bounded before it is 
> processed?
> We are currently using Solr 4.1.
> <fieldType name="location_rpt" 
> class="solr.SpatialRecursivePrefixTreeFieldType"
> spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory"
> geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to