As part of the
FULL response style, the GeoNames search API returns results like the following:
<geonames style="FULL"> <totalResultsCount>510</totalResultsCount> <geoname> <toponymName>Las Vegas</toponymName> <name>Vegas</name> <lat>36.17497</lat> <lng>-115.13722</lng> <geonameId>5506956</geonameId> <!-- abbreviated --> <score>92.10135650634766</score> </geoname> </geonames>
How is the
score element calculated? I'm guessing there's some sort of search index (e.g. something running on top of Lucene, like Solr or Elasticsearch).
I'm less concerned about exactly understanding the scoring algorithm they use, but rather an understanding which factors would be the most useful in implementing a scoring mechanism if I were to implement a similar web service locally.