From 16267dc021f945f808442df116229bd4abac372b Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Fri, 9 Apr 2021 21:24:35 +0200 Subject: [PATCH] add migration for new placenode geometry index --- nominatim/tools/migration.py | 17 +++++++++++++++++ nominatim/version.py | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/nominatim/tools/migration.py b/nominatim/tools/migration.py index b5f0b80e..54848341 100644 --- a/nominatim/tools/migration.py +++ b/nominatim/tools/migration.py @@ -156,3 +156,20 @@ def change_housenumber_transliteration(conn, **_): cur.execute("""UPDATE placex SET housenumber = create_housenumber_id(housenumber) WHERE housenumber is not null""") + + +@_migration(3, 7, 0, 0) +def switch_placenode_geometry_index(conn, **_): + """ Replace idx_placex_geometry_reverse_placeNode index. + + Make the index slightly more permissive, so that it can also be used + when matching up boundaries and place nodes. It makes the index + idx_placex_adminname index unnecessary. + """ + with conn.cursor() as cur: + cur.execute(""" CREATE INDEX IF NOT EXISTS idx_placex_geometry_placenode ON placex + USING GIST (geometry) + WHERE osm_type = 'N' and rank_search < 26 + and class = 'place' and type != 'postcode' + and linked_place_id is null""") + cur.execute(""" DROP INDEX IF EXISTS idx_placex_adminname """) diff --git a/nominatim/version.py b/nominatim/version.py index 52550d19..9670ea60 100644 --- a/nominatim/version.py +++ b/nominatim/version.py @@ -10,7 +10,7 @@ Version information for Nominatim. # and must always be increased when there is a change to the database or code # that requires a migration. # Released versions always have a database patch level of 0. -NOMINATIM_VERSION = (3, 7, 0, 0) +NOMINATIM_VERSION = (3, 7, 0, 1) POSTGRESQL_REQUIRED_VERSION = (9, 3) POSTGIS_REQUIRED_VERSION = (2, 2) -- 2.39.5