]> git.openstreetmap.org Git - nominatim.git/commitdiff
nearest place search should match any of given tokens not all
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 13 Jun 2018 22:11:19 +0000 (00:11 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 13 Jun 2018 22:11:19 +0000 (00:11 +0200)
When multiple isin tokens are given, then these are duplicates
and it is enough that any one of them is found in the
name_vector.

Fixes #1056.

sql/partition-functions.src.sql
test/bdd/db/import/parenting.feature

index cc11cf960ace6d373c1892eb5cfaddb6e33733e4..9ae020e44d8433b2a2b14880a1611ac023eef18e 100644 (file)
@@ -96,7 +96,7 @@ BEGIN
       SELECT place_id, name_vector, address_rank, search_rank,
           ST_Distance(centroid, point) as distance, null as isguess
           FROM search_name_-partition-
-          WHERE name_vector @> isin_token
+          WHERE name_vector && isin_token
           AND ST_DWithin(centroid, point, 0.015)
           AND search_rank between 26 and 27
       ORDER BY distance ASC limit 1
@@ -124,7 +124,7 @@ BEGIN
       SELECT place_id, name_vector, address_rank, search_rank,
           ST_Distance(centroid, point) as distance, null as isguess
           FROM search_name_-partition-
-          WHERE name_vector @> isin_token
+          WHERE name_vector && isin_token
           AND ST_DWithin(centroid, point, 0.03) 
           AND search_rank between 16 and 22
       ORDER BY distance ASC limit 1
index 87467fd287a22603d2c1c10f9c8384adfcba6f26..a36485390e8e3c18188aa8461caf9183a86b24c7 100644 (file)
@@ -441,3 +441,22 @@ Feature: Parenting of objects
          | object | parent_place_id |
          | N1     | W2 |
 
+    # github #1056
+    Scenario: Full names should be preferably matched for nearest road
+        Given the grid
+            | 1 |   | 2 | 5 |
+            |   |   |   |   |
+            | 3 |   |   | 4 |
+            |   | 10|   |   |
+        And the places
+            | osm | class   | type    | name+name               | geometry |
+            | W1  | highway | residential | Via Cavassico superiore | 1, 2 |
+            | W3  | highway | residential | Via Cavassico superiore | 2, 5 |
+            | W2  | highway | primary | Via Frazione Cavassico  | 3, 4     |
+        And the named places
+            | osm | class   | type    | addr+street             |
+            | N10 | shop    | yes     | Via Cavassico superiore |
+        When importing
+        Then placex contains
+          | object | parent_place_id |
+          | N10    | W1 |