]> git.openstreetmap.org Git - nominatim.git/blobdiff - docs/develop/Ranking.md
Merge pull request #2147 from lonvia/tests-for-python-code
[nominatim.git] / docs / develop / Ranking.md
index 278039db6c923c4ab4db46b64f70d75c61ef41e6..5b1ca1915ca653624261278c04adffa65cbc9882 100644 (file)
@@ -7,7 +7,7 @@ different purposes, which are explained in this chapter.
 ## Search rank
 
 The search rank describes the extent and importance of a place. It is used
 ## Search rank
 
 The search rank describes the extent and importance of a place. It is used
-when ranking search result. Simply put, if there are two results for a
+when ranking search results. Simply put, if there are two results for a
 search query which are otherwise equal, then the result with the _lower_
 search rank will be appear higher in the result list.
 
 search query which are otherwise equal, then the result with the _lower_
 search rank will be appear higher in the result list.
 
@@ -23,7 +23,7 @@ rank   | typical place types             | extent
 4      | countries                       | -
 5-9    | states, regions, provinces      | -
 10-12  | counties                        | -
 4      | countries                       | -
 5-9    | states, regions, provinces      | -
 10-12  | counties                        | -
-13-16  | cities, municipalities, islands | 7.5 km
+13-16  | cities, municipalities, islands | 15 km
 17-18  | towns, boroughs                 | 4 km
 19     | villages, suburbs               | 2 km
 20     | hamlets, farms, neighbourhoods  |  1 km
 17-18  | towns, boroughs                 | 4 km
 19     | villages, suburbs               | 2 km
 20     | hamlets, farms, neighbourhoods  |  1 km
@@ -51,16 +51,24 @@ The following table gives an overview how ranks are mapped to address parts:
  10-12       | county
  13-16       | city
  17-21       | suburb
  10-12       | county
  13-16       | city
  17-21       | suburb
- 22-25       | neighbourhood
+ 22-24       | neighbourhood
+ 25          | squares, farms, localities
  26-27       | street
  28-30       | POI/house number
 
 The country rank 4 usually doesn't show up in the address parts of an object.
 The country is determined indirectly from the country code.
 
  26-27       | street
  28-30       | POI/house number
 
 The country rank 4 usually doesn't show up in the address parts of an object.
 The country is determined indirectly from the country code.
 
-Ranks 5-25 can be assigned more or less freely. They make up the major part
+Ranks 5-24 can be assigned more or less freely. They make up the major part
 of the address.
 
 of the address.
 
+Rank 25 is also an addressing rank but it is special because while it can be
+the parent to a POI with an addr:place of the same name, it cannot be a parent
+to streets. Use it for place features that are technically on the same level
+as a street (e.g. squares, city blocks) or for places that should not normally
+appear in an address unless explicitly tagged so (e.g place=locality which
+should be uninhabited and as such not addressable).
+
 The street ranks 26 and 27 are handled slightly differently. Only one object
 from these ranks shows up in an address.
 
 The street ranks 26 and 27 are handled slightly differently. Only one object
 from these ranks shows up in an address.
 
@@ -79,9 +87,9 @@ into the database. There are a few hard-coded rules for the assignment:
     * highway nodes
     * landuse that is not an area
 
     * highway nodes
     * landuse that is not an area
 
-Other than that, the ranks can be freely assigned via the JSON file
-defined with `CONST_Address_Level_Config` according to their type and
-the country they are in.
+Other than that, the ranks can be freely assigned via the JSON file according
+to their type and the country they are in. The name of the config file to be
+used can be changed with the setting `NOMINATIM_ADDRESS_LEVEL_CONFIG`.
 
 The address level configuration must consist of an array of configuration
 entries, each containing a tag definition and an optional country array:
 
 The address level configuration must consist of an array of configuration
 entries, each containing a tag definition and an optional country array: