]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/search_name.feature
Merge pull request #2058 from lonvia/split-address-words
[nominatim.git] / test / bdd / db / import / search_name.feature
index 5514e7de29d8e7c7ea923305860eae38b20bb125..30c430a6b4503e33da91aa4d53a04eb8e9db4d25 100644 (file)
@@ -27,10 +27,27 @@ Feature: Creation of search terms
          | N1     | #23         | Rose Street, Walltown |
         When searching for "23 Rose Street, Walltown"
         Then results contain
          | N1     | #23         | Rose Street, Walltown |
         When searching for "23 Rose Street, Walltown"
         Then results contain
-         | osm_type | osm_id |
-         | N        | 1 |
+         | osm_type | osm_id | name |
+         | N        | 1      | 23, Rose Street |
 
 
-    Scenario: Unnamed POI has no search entry when it has known addr: tags
+    Scenario: Searching for unknown addr: tags also works for multiple words
+        Given the scene roads-with-pois
+        And the places
+         | osm | class   | type        | housenr | addr+city        | geometry |
+         | N1  | place   | house       | 23      | Little Big Town  | :p-N1 |
+        And the places
+         | osm | class   | type        | name+name   | geometry |
+         | W1  | highway | residential | Rose Street | :w-north |
+        When importing
+        Then search_name contains
+         | object | name_vector | nameaddress_vector |
+         | N1     | #23         | Rose Street, Little, Big, Town |
+        When searching for "23 Rose Street, Little Big Town"
+        Then results contain
+         | osm_type | osm_id | name |
+         | N        | 1      | 23, Rose Street |
+
+     Scenario: Unnamed POI has no search entry when it has known addr: tags
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | housenr | addr+city | geometry |
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | housenr | addr+city | geometry |
@@ -42,8 +59,8 @@ Feature: Creation of search terms
         Then search_name has no entry for N1
         When searching for "23 Rose Street, Walltown"
         Then results contain
         Then search_name has no entry for N1
         When searching for "23 Rose Street, Walltown"
         Then results contain
-         | osm_type | osm_id |
-         | N        | 1 |
+         | osm_type | osm_id | name |
+         | N        | 1      | 23, Rose Street |
 
     Scenario: Unnamed POI must have a house number to get a search entry
         Given the scene roads-with-pois
 
     Scenario: Unnamed POI must have a house number to get a search entry
         Given the scene roads-with-pois
@@ -56,30 +73,41 @@ Feature: Creation of search terms
         When importing
         Then search_name has no entry for N1
 
         When importing
         Then search_name has no entry for N1
 
-    Scenario: Unnamed POIs doesn't inherit parent name when unknown addr:place is present
+    Scenario: Unnamed POIs inherit parent name when unknown addr:place is present
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | housenr | addr+place | geometry |
          | N1  | place   | house       | 23      | Walltown   | :p-N1 |
         And the places
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | housenr | addr+place | geometry |
          | N1  | place   | house       | 23      | Walltown   | :p-N1 |
         And the places
-         | osm | class   | type        | name+name   | geometry |
-         | W1  | highway | residential | Rose Street | :w-north |
+         | osm | class   | type        | name+name    | geometry |
+         | W1  | highway | residential | Rose Street  | :w-north |
+         | N2  | place   | city        | Strange Town | :p-N1 |
         When importing
         When importing
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | N2              |
         Then search_name contains
          | object | name_vector | nameaddress_vector |
         Then search_name contains
          | object | name_vector | nameaddress_vector |
-         | N1     | #23         | Walltown |
-        When searching for "23 Rose Street, Walltown"
-        Then exactly 0 results are returned
+         | N1     | #23         | Walltown, Strange, Town |
+        When searching for "23 Rose Street"
+        Then exactly 1 results are returned
+        And results contain
+         | osm_type | osm_id | name |
+         | W        | 1      | Rose Street, Strange Town |
+        When searching for "23 Walltown, Strange Town"
+        Then results contain
+         | osm_type | osm_id | name |
+         | N        | 1      | 23, Walltown, Strange Town |
 
 
-    # XXX Need to change parenting of POis without addr:street and with addr:place
     Scenario: Unnamed POIs doesn't inherit parent name when addr:place is present only in parent address
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | housenr | addr+place | geometry |
          | N1  | place   | house       | 23      | Walltown   | :p-N1 |
         And the places
     Scenario: Unnamed POIs doesn't inherit parent name when addr:place is present only in parent address
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | housenr | addr+place | geometry |
          | N1  | place   | house       | 23      | Walltown   | :p-N1 |
         And the places
-         | osm | class   | type        | name+name   | addr+city | geometry |
-         | W1  | highway | residential | Rose Street | Walltown  | :w-north |
+         | osm | class   | type        | name+name    | addr+city | geometry |
+         | W1  | highway | residential | Rose Street  | Walltown  | :w-north |
+         | N2  | place   | suburb      | Strange Town | Walltown  | :p-N1 |
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
@@ -87,8 +115,13 @@ Feature: Creation of search terms
         When searching for "23 Rose Street, Walltown"
         Then exactly 1 result is returned
         And results contain
         When searching for "23 Rose Street, Walltown"
         Then exactly 1 result is returned
         And results contain
-         | osm_type | osm_id |
-         | W        | 1 |
+         | osm_type | osm_id | name |
+         | W        | 1      | Rose Street, Strange Town |
+        When searching for "23  Walltown"
+        Then exactly 1 result is returned
+        And results contain
+         | osm_type | osm_id | name |
+         | N        | 1      | 23, Walltown, Strange Town |
 
     Scenario: Unnamed POIs does inherit parent name when unknown addr:place and addr:street is present
         Given the scene roads-with-pois
 
     Scenario: Unnamed POIs does inherit parent name when unknown addr:place and addr:street is present
         Given the scene roads-with-pois
@@ -102,8 +135,8 @@ Feature: Creation of search terms
         Then search_name has no entry for N1
         When searching for "23 Rose Street"
         Then results contain
         Then search_name has no entry for N1
         When searching for "23 Rose Street"
         Then results contain
-         | osm_type | osm_id |
-         | N        | 1 |
+         | osm_type | osm_id | name |
+         | N        | 1      | 23, Rose Street |
         When searching for "23 Lily Street"
         Then exactly 0 results are returned
 
         When searching for "23 Lily Street"
         Then exactly 0 results are returned
 
@@ -119,8 +152,8 @@ Feature: Creation of search terms
         Then search_name has no entry for N1
         When searching for "23 Rose Street"
         Then results contain
         Then search_name has no entry for N1
         When searching for "23 Rose Street"
         Then results contain
-         | osm_type | osm_id |
-         | N        | 1 |
+         | osm_type | osm_id | name |
+         | N        | 1      | 23, Rose Street |
         When searching for "23 Lily Street"
         Then exactly 0 results are returned
 
         When searching for "23 Lily Street"
         Then exactly 0 results are returned
 
@@ -138,8 +171,8 @@ Feature: Creation of search terms
          | N1     | #Green Moss | Rose Street, Walltown |
         When searching for "Green Moss, Rose Street, Walltown"
         Then results contain
          | N1     | #Green Moss | Rose Street, Walltown |
         When searching for "Green Moss, Rose Street, Walltown"
         Then results contain
-         | osm_type | osm_id |
-         | N        | 1 |
+         | osm_type | osm_id | name |
+         | N        | 1      | Green Moss, Rose Street |
 
     Scenario: Named POI doesn't inherit parent name when addr:place is present only in parent address
         Given the scene roads-with-pois
 
     Scenario: Named POI doesn't inherit parent name when addr:place is present only in parent address
         Given the scene roads-with-pois
@@ -147,17 +180,19 @@ Feature: Creation of search terms
          | osm | class   | type        | name+name  | addr+place | geometry |
          | N1  | place   | house       | Green Moss | Walltown  | :p-N1 |
         And the places
          | osm | class   | type        | name+name  | addr+place | geometry |
          | N1  | place   | house       | Green Moss | Walltown  | :p-N1 |
         And the places
-         | osm | class   | type        | name+name   | geometry |
-         | W1  | highway | residential | Rose Street | :w-north |
+         | osm | class   | type        | name+name    | geometry |
+         | W1  | highway | residential | Rose Street  | :w-north |
+         | N2  | place   | suburb      | Strange Town | :p-N1 |
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
          | N1     | #Green Moss | Walltown |
         When searching for "Green Moss, Rose Street, Walltown"
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
          | N1     | #Green Moss | Walltown |
         When searching for "Green Moss, Rose Street, Walltown"
-        Then exactly 1 result is returned
-        And results contain
-         | osm_type | osm_id |
-         | W        | 1 |
+        Then exactly 0 result is returned
+        When searching for "Green Moss, Walltown"
+        Then results contain
+         | osm_type | osm_id | name |
+         | N        | 1      | Green Moss, Walltown, Strange Town |
 
     Scenario: Named POIs inherit address from parent
         Given the scene roads-with-pois
 
     Scenario: Named POIs inherit address from parent
         Given the scene roads-with-pois
@@ -170,20 +205,19 @@ Feature: Creation of search terms
          | object | name_vector | nameaddress_vector |
          | N1     | foo         | the road |
 
          | object | name_vector | nameaddress_vector |
          | N1     | foo         | the road |
 
-    Scenario: Some addr: tags are added to address when the name exists
+    Scenario: Some addr: tags are added to address
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | name     | geometry |
         Given the scene roads-with-pois
         And the places
          | osm | class   | type        | name     | geometry |
-         | N1  | place   | state       | new york | 80 80 |
          | N2  | place   | city        | bonn     | 81 81 |
          | N3  | place   | suburb      | smalltown| 80 81 |
         And the named places
          | N2  | place   | city        | bonn     | 81 81 |
          | N3  | place   | suburb      | smalltown| 80 81 |
         And the named places
-         | osm | class   | type    | addr+city | addr+state | addr+suburb | geometry |
-         | W1  | highway | service | bonn      | New York   | Smalltown   | :w-north |
+         | osm | class   | type    | addr+city | addr+municipality | addr+suburb | geometry |
+         | W1  | highway | service | bonn      | New York          | Smalltown   | :w-north |
         When importing
         Then search_name contains
          | object | nameaddress_vector |
         When importing
         Then search_name contains
          | object | nameaddress_vector |
-         | W1     | bonn, new york, smalltown |
+         | W1     | bonn, new, york, smalltown |
 
     Scenario: A known addr:* tag is added even if the name is unknown
         Given the scene roads-with-pois
 
     Scenario: A known addr:* tag is added even if the name is unknown
         Given the scene roads-with-pois
@@ -208,21 +242,6 @@ Feature: Creation of search terms
          | object | nameaddress_vector |
          | W1     | 12345 |
 
          | object | nameaddress_vector |
          | W1     | 12345 |
 
-    Scenario: is_in is split and added to the address search terms
-        Given the scene roads-with-pois
-        And the places
-         | osm | class   | type        | name     | geometry |
-         | N1  | place   | state       | new york | 80 80 |
-         | N2  | place   | city        | bonn     | 81 81 |
-         | N3  | place   | suburb      | smalltown| 80 81 |
-        And the named places
-         | osm | class   | type    | addr+is_in                | geometry |
-         | W1  | highway | service | bonn, New York, Smalltown | :w-north |
-        When importing
-        Then search_name contains
-         | object | nameaddress_vector |
-         | W1     | bonn, new york, smalltown |
-
     Scenario: a linked place does not show up in search name
         Given the named places
          | osm  | class    | type           | admin | geometry |
     Scenario: a linked place does not show up in search name
         Given the named places
          | osm  | class    | type           | admin | geometry |