Using solr with OSM data

I have been looking for a good geocoding solution and have run across a few options. Nominatim is obviously a candidate but I also like GISGraphy’s approach of using solr as the search engine. The problem with gisgraphy is that they don’t use the full gazetteer db produced by osm2pgsql so I cannot do exact street addresses. I was curious if anyone had tried moving data directly into solr from the osm planet file for the sole purpose of geocoding?

Bypassing postgres and going directly to solr seems like an ideal solution because most of the time we are only dealing with a single point (which I believe is the only thing solr supports currently). It also has built in ranking, autocomplete, fuzzy queries/spellchecking, pagination, sorting, etc. It’s also a lot more horizontally scalable than a database back-end since we don’t care about real-time updating and transactions. To me most of the db code for nominatim seems to be trying to duplicate these features and being a dba I know how hard it is to do some of this efficiently in a traditional relational database.

Any thoughts?


i’m the developper of gisgraphy :slight_smile:

what do you mean by ‘cannot do exact street addresses’


Hi David,

What I mean is that I don’t seem to be able to type something like “555 Main Street” to give me exact coordinates like I can in open street maps. Maybe I’m missing something.

I’m sort of new to this so I haven’t had a chance to bring up a linux box and play around with the OSM data for texas. I very much like the idea of solr though because it opens up a lot of possibilities.


it will be available in v 3.0 with the address parser(based on universal postal union recomandation) and a new geocoder :slight_smile:


Very nice, can’t wait!

Is that going to be for US addresses only?


no it will be world wide:) but precision will be at street levelt, not street number. nominatim don’t do it i think. am i wrong ?