X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/c61b5219f9eeb48b09d5e74e1f5afc5a955682b9..8081896bc0e3933c7c8a497a012c674c125de66e:/sql/functions/placex_triggers.sql diff --git a/sql/functions/placex_triggers.sql b/sql/functions/placex_triggers.sql index d123e362..d23d39d2 100644 --- a/sql/functions/placex_triggers.sql +++ b/sql/functions/placex_triggers.sql @@ -387,11 +387,12 @@ BEGIN location_keywords := location.keywords; location_isaddress := NOT address_havelevel[location.rank_address]; + --DEBUG: RAISE WARNING 'should be address: %, is guess: %, rank: %', location_isaddress, location.isguess, location.rank_address; IF location_isaddress AND location.isguess AND location_parent IS NOT NULL THEN location_isaddress := ST_Contains(location_parent, location.centroid); END IF; - -- RAISE WARNING '% isaddress: %', location.place_id, location_isaddress; + --DEBUG: RAISE WARNING '% isaddress: %', location.place_id, location_isaddress; -- Add it to the list of search terms IF NOT %REVERSE-ONLY% THEN nameaddress_vector := array_merge(nameaddress_vector, @@ -411,9 +412,12 @@ BEGIN END IF; address_havelevel[location.rank_address] := true; - IF NOT location.isguess THEN - SELECT placex.geometry FROM placex - WHERE obj_place_id = location.place_id INTO location_parent; + -- add a hack against postcode ranks + IF NOT location.isguess + AND location.rank_address != 11 AND location.rank_address != 5 + THEN + SELECT p.geometry FROM placex p + WHERE p.place_id = location.place_id INTO location_parent; END IF; IF location.rank_address > parent_place_id_rank THEN @@ -421,7 +425,6 @@ BEGIN parent_place_id_rank = location.rank_address; END IF; END IF; - --DEBUG: RAISE WARNING ' Terms: (%) %',location, nameaddress_vector; END IF; END LOOP;