lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan McKinley (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-5608) SpatialPrefixTree API refactor
Date Thu, 17 Apr 2014 04:51:14 GMT

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

Ryan McKinley commented on LUCENE-5608:
---------------------------------------

+1 for code cleanup 

> SpatialPrefixTree API refactor
> ------------------------------
>
>                 Key: LUCENE-5608
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5608
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/spatial
>            Reporter: David Smiley
>            Assignee: David Smiley
>             Fix For: 4.9, 5.0
>
>         Attachments: LUCENE-5608__SpatialPrefixTree_API_refactor.patch
>
>
> This is a refactor of the SpatialPrefixTree spatial API, in preparation for more SPT
implementations on the near horizon.  These are fairly internal APIs; SpatialExample.java
didn't have to change, nor the Solr adapters, and I doubt ES would have to either.
> API changes:
> * SpatialPrefixTree & Cell had a fairly significant make-over. The existing implementations
for Geohash & Quad have been made to subclass LegacyPrefixTree & LegacyCell shim's,
and otherwise had very few changes (performance _should_ be the same).  Cell is now an interface.
> * New CellIterator which is an Iterator<Cell>. Includes 3 implementations.
> * PrefixTreeStrategy.simplifyIndexedCells was renamed to pruneLeafyBranches and moved
to RPT and made toggle'able with a setter. It's going to be removed in the future but for
the time being it remains a useful optimization.
> * RPT's pointsOnly & multiOverlappingIndexedShapes options now have setters.
> Future:
> * The AbstractVisitingPrefixTreeFilter (used by RPT's Intersects, Within, Disjoint) really
should be refactored to use the new CellIterator API as it will reduce the amount of code
and should make the code easier to follow since it would be based on a well-knon design-pattern
(an iterator).
> I wish I had done this as a series of commits on a GitHub branch; ah well.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message