lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grant Ingersoll <>
Subject [spatial] Rethinking Cartesian Tiers implementation
Date Wed, 30 Jun 2010 03:02:43 GMT
After having spent a lot of time looking at the Tier stuff and debugging it and discussing
it on IRC, I am of the opinion (and, I still have some belief that it's just me who isn't
getting it, but others have confirmed my suspicion) that the spatial Cartesian Tier implementation
is broken and, due to the lack of documentation and resources, it is not clear how to fix
it; furthermore we don't seem to have anyone with the bandwidth or interest to fix it (I've
tried, but I've about reached my limit on it in terms of willingness to work on it).  Even
if it is not broken and it is just me, the fact that I don't get it after spending as much
time on it that I have is not a good sign for maintainability.  

AFAICT, a lot of it stems from the fact that SinusoidalProjection is broken (
and then layers upon layers of other, minor issues were built on top of that such that at
the end of those layers are unit tests that are nearly impossible to untangle and in between
is a fairly large mess.   Well, I suppose I should moderate those statements: I think all
of it probably works as long as you stay completely in a given quadrant of the Earth for all
your points (and likely really, just the US/ northern/western hemispheres), but even then
it only works b/c it consistently calculates the wrong values for all points.

At the same time, I think the theory behind it (i.e. a labeled, nested grid system) is useful
for many people solving spatial search problems and can offer significant query time savings.
 So, I think there are a couple of things we could do:

1. Remove it and start from scratch and take a more standard approach
2. Find someone to fix the existing stuff who groks it
3. Document that it is only really useful for a given quadrant and then either do 1 or 2 over
the long term.  We still need to fix somethings, IMO, to feel comfortable w/ it.
4. At a minimum, I think we should mark it as deprecated until it can be better dealt with

For now, I'm going to remove it from Solr and just focus on finishing up the filtering stuff
for the other point types.

Thoughts?  Volunteers?


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

View raw message