Places (Search) API Developer's Guide

Search Results Ranking

HERE Search uses a machine learning system to rank search results, as do most major location-based search engines. The system "learns" from real-world queries randomly sampled from search logs. Human annotators look at the results provided by the system and rate them by quality. These ratings are fed back into the system so that it can learn from its mistakes and constantly improve over time, adapting to changing query types, new application releases and data updates, and the growing geographic distribution of users.

There are many factors which influence the order of the search results. These include:
  • The quality of the string match between the query and the result, including the amount of spell correction required
  • The distance between the user and the result, e.g. actual distance, whether the result is in the same city as the user
  • The category or type of the result, e.g. address, city, restaurant, hotel
  • The popularity of the result, e.g. number of clicks, number of times it has been saved as a "favorite"
  • The population for results such as cities or states
There are a few special cases where results are ranked using different methods.
  • Certain types of categories, such as restaurants or hotels, are ranked via a "recommendations-style" algorithm where measures of popularity or quality, such as number of stars or reviews, are taken into account.
  • Other types of categories, such as gas stations, are ranked purely by distance.
  • Chain stores which are recognised as such by the system are also ranked purely by distance.