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?