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