]> git.openstreetmap.org Git - nominatim.git/blobdiff - sql/functions.sql
add small penalty for special searches
[nominatim.git] / sql / functions.sql
index 8e5a63f41eac8220e78cd67b9a0e81f01a640e69..929e5376c4665a2a22fd81e625af837327153718 100644 (file)
@@ -1094,10 +1094,10 @@ BEGIN
       ELSEIF NEW.type in ('national_park') THEN
         NEW.rank_search := 18;
         NEW.rank_address := 18;
       ELSEIF NEW.type in ('national_park') THEN
         NEW.rank_search := 18;
         NEW.rank_address := 18;
-      ELSEIF NEW.type in ('suburb','croft','subdivision') THEN
+      ELSEIF NEW.type in ('suburb','croft','subdivision','isolated_dwelling') THEN
         NEW.rank_search := 20;
         NEW.rank_address := NEW.rank_search;
         NEW.rank_search := 20;
         NEW.rank_address := NEW.rank_search;
-      ELSEIF NEW.type in ('farm','locality','islet','isolated_dwelling','mountain_pass') THEN
+      ELSEIF NEW.type in ('farm','locality','islet','mountain_pass') THEN
         NEW.rank_search := 20;
         NEW.rank_address := 0;
         -- Irish townlands, tagged as place=locality and locality=townland
         NEW.rank_search := 20;
         NEW.rank_address := 0;
         -- Irish townlands, tagged as place=locality and locality=townland
@@ -1689,6 +1689,11 @@ BEGIN
         END IF;
       END IF;
 
         END IF;
       END IF;
 
+    END IF;
+
+    -- Name searches can be done for ways as well as relations
+    IF NEW.osm_type in ('W','R') AND NEW.rank_search < 26 THEN
+
       -- not found one yet? how about doing a name search
       IF NEW.centroid IS NULL AND (NEW.name->'name') is not null and make_standard_name(NEW.name->'name') != '' THEN
 
       -- not found one yet? how about doing a name search
       IF NEW.centroid IS NULL AND (NEW.name->'name') is not null and make_standard_name(NEW.name->'name') != '' THEN