I don’t normally speak up on spatial issues because I don’t know anything about 
spatial stuff, but I suppose a point of view from somebody outside the code may 
be helpful, so…

I think I’d lean towards B. Having the 99% case in core makes most sense to me, 
and it means that we can add some pointers to the search package-info to make 
it easier for people starting out.  Common interfaces in core make it easier to 
put specialist classes into separate modules without having cross-dependencies.

I’m not sure that having separate ‘spatial’ and ‘spatial3d’ modules is 
particularly useful, though.  I’d combine these into a single module, with 
clear package docs explaining what each part is useful for - fast shape 
searching vs high-precision, etc.

I spent a bit of time in the spatial-extras code last year when I was working 
on replacing ValueSource.  One question I have, again as an outsider to all 
this, is this: are there still circumstances where indexing spatial data into 
the terms index, as spatial-extras does, is better in terms of accuracy or 
performance than using the Points API?  Or should we think about spatial-extras 
as we do about the legacy numeric encodings, and direct users to LatLonPoint or 
the geo3d classes instead?  It’s not at all clear to me what the trade-offs are 
here.

- Alan

> On 20 Jun 2018, at 18:00, Nicholas Knize <nkn...@gmail.com> wrote:
> 
> If I were to pick between the two, I also have a preference for B.  I've also 
> tried to keep this whole spatial organization rather simple:
> 
> core - simple spatial capabilities needed by the 99% spatial use case (e.g., 
> web mapping). Includes LatLonPoint, polygon & distance search (everything 
> currently in sandbox). Lightweight, and no dependencies or complexities. If 
> one wants simple and fast point search, all you need is the core module.
> 
> spatial - dependency free. Expands on core spatial to include simple shape 
> searching. Uses internal relations. Everything confined to core and spatial 
> modules.
> 
> spatial-extras - expanded spatial capabilities. Welcomes third-party 
> dependencies (e.g., S3, SIS, Proj4J). Targets more advanced/expert GIS 
> use-cases.
> 
> geo3d - trades speed for accuracy. I've always struggled with the name, since 
> it implies 3D shapes/point cloud support. But history has shown considering a 
> name change to be a bike-shedding endeavor. 
> 
> At the end of the day I'm up for whatever makes most sense for everyone here. 
> Lord knows we could use more people helping out on geo.
> 
> - Nick
> 
> 
> 
> On Wed, Jun 20, 2018 at 11:40 AM Adrien Grand <jpou...@gmail.com 
> <mailto:jpou...@gmail.com>> wrote:
> I have a slight preference for B similarly to how StandardAnalyzer is in core 
> and other analyzers are in analysis, but no strong feelings. In any case I 
> agree that both A and B would be much better than the current situation.
> 
> 
> Le mer. 20 juin 2018 à 18:09, David Smiley <david.w.smi...@gmail.com 
> <mailto:david.w.smi...@gmail.com>> a écrit :
> I think everyone agrees the current state of spatial code organization in 
> Lucene is not desirable.  We have a spatial module that has almost nothing in 
> it, we have mature spatial code in the sandbox that needs to "graduate" 
> somewhere, and we've got a handful of geo utilities in Lucene core (mostly 
> because I didn't notice).  No agreement has been reached on what the desired 
> state should be.
> 
> I'd like to hear opinions on this from members of the community.  I am 
> especially interested in listening to people that normally don't seem to 
> speak up about spatial matters. Perhaps Uwe Schindlerand Alan Woodward – I 
> respect both of you guys a ton for your tenure with Lucene and aren't too 
> pushy with your opinions. I can be convinced to change my mind, especially if 
> coming from you two.  Of course anyone can respond -- this is an open 
> discussion!
> 
> As I understand it, there are two proposals loosely defined as follows:
> 
> (A) Common spatial needs will be met in the "spatial" module.  The Lucene 
> "spatial" module, currently in a weird gutted state, should have basically 
> all spatial code currently in sandbox plus all geo stuff in Lucene core. Thus 
> there will be no geo stuff in Lucene core.
> 
> (B) Common spatial needs will be met by Lucene core.  Lucene core should 
> expand it's current "geo" utilities to include the spatial stuff currently in 
> the sandbox module.  It'd also take on what little remains in the Lucene 
> spatial module and thus we can remove the spatial module. 
> 
> With either plan if a user has certain advanced/specialized needs they may 
> need to go to spatial3d or spatial-extras modules.  These would be untouched 
> in both proposals.
> 
> I'm in favor of (A) on the grounds that we have modules for special feature 
> areas, and spatial should be no different.  My gut estimation is that 75-90% 
> of apps do not have spatial requirements and need not depend on any spatial 
> module.  Other modules are probably used more (e.g. queries, suggest, etc.)
> 
> Respectfully,
>   ~ David
> 
> p.s. if I mischaracterized any proposal or overlooked another then I'm sorry, 
> please correct me.
> -- 
> Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
> LinkedIn: http://linkedin.com/in/davidwsmiley 
> <http://linkedin.com/in/davidwsmiley> | Book: 
> http://www.solrenterprisesearchserver.com 
> <http://www.solrenterprisesearchserver.com/>-- 
> Nicholas Knize  |  Geospatial Software Guy  |  Elasticsearch & Apache Lucene  
> |  nkn...@apache.org <mailto:nkn...@apache.org>  

Reply via email to