I’ve had quite a few people asking me about the state of geospatial support in Apache Solr lately, so I thought I would give a brief update here.
Much of the functionality behind SOLR-773 is now implemented in the trunk version of Solr and is available for check out. This includes support for several different distance measures (Euclidean, Haversine, etc.) as well as support for sorting by functions (aka sorting by distance). Due note there are some minor issues left to fix on that one. See SOLR-1297 for the gotchas there. There is also support for several different point based field types now too. See SOLR-1131 for more info.
Right now, I’m working on SOLR-1568, which will add the last “major” piece of needed functionality: spatial filtering based on FieldType. I’m getting close to putting up a patch for review, but it will then take a week or two more from there to iterate and commit.
Beyond that, there are some minor things that would be nice to have, but not showstoppers, I don’t think, for the basic spatial use cases (sort, boost, filter by distance.) For those wanting deeper capabilities along the lines of shape intersections, that’s a bit farther off, unless of course, you have a patch!
As always, feedback welcome!
Related link: On-Demand webinar
From Here to There, You Can Find it Anywhere: Building Local/Geo-Search with Apache Lucene and Solr