From: Sarah Hoffmann Date: Sat, 18 Feb 2023 08:50:12 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/master' X-Git-Tag: deploy~76 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/5adc3167d833bc2fb73d4a19f3c68b1e7a42ee3e?hp=96e1ef3ff846324bbfef1f209bfe30d88125b5bd Merge remote-tracking branch 'upstream/master' --- diff --git a/docs/admin/Migration.md b/docs/admin/Migration.md index 9b5b48c3..be7d90ff 100644 --- a/docs/admin/Migration.md +++ b/docs/admin/Migration.md @@ -15,6 +15,25 @@ breaking changes. **Please read them before running the migration.** If you are migrating from a version <3.6, then you still have to follow the manual migration steps up to 3.6. +## 4.1.0 -> master + +### New indexes for reverse lookup + +The reverse lookup algorithm has changed slightly to improve performance. +This change needs a different index in the database. The required index +will be automatically build during migration. Until the new index is available +performance of the /reverse endpoint is significantly reduced. You should +therefore either remove traffic from the machine before attempting a +version update or create the index manually **before** starting the update +using the following SQL: + +``` +CREATE INDEX IF NOT EXISTS idx_placex_geometry_reverse_lookupPlaceNode + ON placex USING gist (ST_Buffer(geometry, reverse_place_diameter(rank_search))) + WHERE rank_address between 4 and 25 AND type != 'postcode' + AND name is not null AND linked_place_id is null AND osm_type = 'N'; +``` + ## 4.0.0 -> 4.1.0 ### ICU tokenizer is the new default diff --git a/lib-php/DebugHtml.php b/lib-php/DebugHtml.php index 0edc081a..5d12be67 100644 --- a/lib-php/DebugHtml.php +++ b/lib-php/DebugHtml.php @@ -135,7 +135,7 @@ class Debug public static function printSQL($sSQL) { - echo '

'.$sSQL.'

'."\n"; + echo '

'.date('c').' '.$sSQL.'

'."\n"; } private static function outputVar($mVar, $sPreNL) diff --git a/lib-sql/functions/placex_triggers.sql b/lib-sql/functions/placex_triggers.sql index 295b838e..99d2872f 100644 --- a/lib-sql/functions/placex_triggers.sql +++ b/lib-sql/functions/placex_triggers.sql @@ -1120,7 +1120,7 @@ BEGIN ELSE -- No linked place? As a last resort check if the boundary is tagged with -- a place type and adapt the rank address. - IF NEW.rank_address > 0 and NEW.extratags ? 'place' THEN + IF NEW.rank_address between 4 and 25 and NEW.extratags ? 'place' THEN SELECT address_rank INTO place_address_level FROM compute_place_rank(NEW.country_code, 'A', 'place', NEW.extratags->'place', 0::SMALLINT, False, null); diff --git a/test/bdd/db/import/rank_computation.feature b/test/bdd/db/import/rank_computation.feature index 1d4e2b82..df01fd91 100644 --- a/test/bdd/db/import/rank_computation.feature +++ b/test/bdd/db/import/rank_computation.feature @@ -255,3 +255,15 @@ Feature: Rank assignment | W1 | R10 | True | 18 | | W1 | R2 | True | 16 | | W1 | N9 | False | 18 | + + + Scenario: POI nodes with place tags + Given the places + | osm | class | type | name | extratags | + | N23 | amenity | playground | AB | "place": "city" | + | N23 | place | city | AB | "amenity": "playground" | + When importing + Then placex contains exactly + | object | rank_search | rank_address | + | N23:amenity | 30 | 30 | + | N23:place | 16 | 16 |