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

David Smiley updated LUCENE-4594:
---------------------------------

    Attachment: 
LUCENE-4594__PrefixTreeStrategy_should_not_index_center_points.patch

Attached is a patch.  Pretty simple as it just removes the undesired behavior.

Back compat CHANGES.txt entry:
{noformat}
* LUCENE-4594: Spatial PrefixTreeStrategy no longer indexes center points of
  non-point shapes.  If you want to call makeDistanceValueSource() based on
  shape centers, you need to do this yourself in another spatial field.
  (David Smiley)
{noformat}

Bug CHANGES.txt entry:
{noformat}
* LUCENE-4594: Spatial PrefixTreeStrategy would index center-points in addition
  to the shape to index if it was non-point, in the same field.  But sometimes
  the center-point isn't actually in the shape (consider a LineString), and for
  highly precise shapes it could cause makeDistanceValueSource's cache to load
  parts of the shape's boundary erroneously too.  So center points aren't
  indexed any more; you should use another spatial field. (David Smiley)
{noformat}

If there are no objections or discussion then I intend to commit this Monday.
                
> Spatial PrefixTreeStrategy shouldn't index center-points with shapes together
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-4594
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4594
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial
>    Affects Versions: 4.0, 5.0
>            Reporter: David Smiley
>            Assignee: David Smiley
>             Fix For: 4.1, 5.0
>
>         Attachments: 
> LUCENE-4594__PrefixTreeStrategy_should_not_index_center_points.patch
>
>
> The Spatial PrefixTreeStrategy will index the center-point of a non-point 
> shape it is given to index, in addition to the shape itself of course.  The 
> rationale was that this point could be picked up by 
> PointPrefixTreeFieldCacheProvider for distance/sorting.  However this 
> approach is buggy since the distinction of grid cells between the center 
> point and the shape itself is lost when the shape gets indexed down to 
> max-levels precision -- each grid cell therein appears to be another point 
> that needs to be brought into memory.  It's also possible that the shape is a 
> LineString or some other non-trivial shape in which its center point isn't 
> actually in the shape.
> Even if you knew this problem would never happen, I think you're better off 
> indexing center points into another spatial field if you want them.  Perhaps 
> arguably this strategy could do that internally?  Wether or not that ends up 
> happening, I just want to remove the problematic behavior now.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to