lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Smiley (JIRA)" <>
Subject [jira] [Commented] (LUCENE-6997) Graduate GeoUtils and postings based GeoPointField from sandbox...
Date Tue, 09 Feb 2016 20:27:18 GMT


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)
* (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:
>             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

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

View raw message