You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Smiley (JIRA)" <ji...@apache.org> on 2012/12/06 20:11:09 UTC

[jira] [Updated] (LUCENE-4594) Spatial PrefixTreeStrategy shouldn't index center-points with shapes together

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