i have been using ur database rather than web service
i have written this query
select name,asciiname,country,fclass,fcode,longitude,latitude,moddate from geoname where match(asciiname) AGAINST('washington') and country='us' and fclass = 'p'
its returning 187 records. I need to get only 1 record if exact name is specified.
you can sort the results by population and feature code and return the most relevant toponym. Though this does not mean that you are always returning the place your user was looking for. I guess it would be better to think about how to interact with your user.