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

David Smiley commented on LUCENE-6997:
--------------------------------------

Nick, I have one parting thought before this gets cemented into 5.5.  The 
package structure you've introduced here is:
* org.apache.lucene.spatial.document  (only public class is GeoPointField)
* org.apache.lucene.spatial.search (lots of classes)

If the only spatial indexing approach that were to exist were this one, then 
this is just fine.  But there are in fact other approaches, and we are bound to 
come up with more.  (BTW this is partly the motivation of the SpatialStrategy 
abstraction)  With each approach, the Queries can only be used with a 
particular Field implementation.  Imagine adding Geo3DPoint to your package 
structure above, and the Query side as well.  It starts to become confusing for 
people to navigate and know what goes with what.  I would certainly be 
confused; it all sounds so similar.  Instead, I suggest a 
{{org.apache.lucene.spatial.geopoint}} package to put all the classes 
associated with this indexing approach.  Perhaps you then feel it's useful to 
add a {{document}} and {{search}} sub-package; I don't but I leave that 
consideration to you.  What do you think?

> Graduate GeoUtils and postings based GeoPointField from sandbox...
> ------------------------------------------------------------------
>
>                 Key: LUCENE-6997
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6997
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/spatial
>            Reporter: Nicholas Knize
>            Assignee: Nicholas Knize
>             Fix For: 5.5, trunk
>
>         Attachments: LUCENE-6997.patch, LUCENE-6997.patch
>
>
> {{GeoPointField}} is a lightweight dependency-free postings based geo field 
> currently in sandbox. It has evolved into a very fast lightweight geo option 
> that heavily leverages the optimized performance of the postings structure. 
> It was originally intended to graduate to core but this does not seem 
> appropriate given the variety of "built on postings" term encoding options 
> (e.g., see LUCENE-6930).  
> Additionally, the {{Geo*Utils}} classes are dependency free lightweight 
> relational approximation utilities used by both {{GeoPointField}} and the BKD 
> based {{LatLonField}} and can also be applied to benefit the lucene-spatial 
> module.
> These classes have been evolving and baking for some time and are at a 
> maturity level qualifying for promotion from sandbox. This will allow support 
> for experimental encoding methods with (minimal) backwards compatibility - 
> something sandbox does not allow.
> Since GeoPoint classes are dependency free, all GeoPointField and support and 
> utility classes currently in sandbox would be promoted to the spatial3d 
> package. (possibly a separate issue to rename spatial3d to spatialcore or 
> spatiallite?) Such that for basic lightweight Geo support one would only need 
> a handful of lucene jars. By simply adding the lucene-spatial module and its 
> dependency jars users can obtain more advanced geospatial support (heatmap 
> facets, full shape relations, etc).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to