Just to comment back on this too:
My current processor talks directly to Geonames.org, with caching of requests. This mode is good for development and testing, but for production I imagine that the backend could be configurable to either geonames.org webservice or local solr core. Comments?
Cool yah, that's a good idea. The thing is, the easiest way for us was just to take geonames dumps (text files which we have on a bunch of our projects) and then as a first step index them in Solr creating our "geonames-aware" index. Then, this can be used during qparsing to allow those types of queries. I didn't want to go live to geonames.org b/c the site bandwidth might be an issue, and sometimes also we're working behind firewalls and stuff.