lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Smiley (JIRA)" <>
Subject [jira] [Updated] (LUCENE-5608) SpatialPrefixTree API refactor
Date Wed, 16 Apr 2014 16:46:15 GMT


David Smiley updated LUCENE-5608:

    Attachment: LUCENE-5608__SpatialPrefixTree_API_refactor.patch

I'll commit this in a day or so.

> SpatialPrefixTree API refactor
> ------------------------------
>                 Key: LUCENE-5608
>                 URL:
>             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;
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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message