]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/search_name.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / db / import / search_name.feature
index 0e922e1d6b503716f649ff8b13409adf21bd9a1f..a5b07e5cf5e5027919066d8967da19cfccdfdc26 100644 (file)
@@ -2,6 +2,29 @@
 Feature: Creation of search terms
     Tests that search_name table is filled correctly
 
 Feature: Creation of search terms
     Tests that search_name table is filled correctly
 
+    Scenario Outline: Comma- and semicolon separated names appear as full names
+        Given the places
+         | osm | class   | type | name+alt_name |
+         | N1  | place   | city | New York<sep>Big Apple |
+        When importing
+        Then search_name contains
+         | object | name_vector |
+         | N1     | #New York, #Big Apple |
+
+    Examples:
+         | sep |
+         | ,   |
+         | ;   |
+
+    Scenario Outline: Name parts before brackets appear as full names
+        Given the places
+         | osm | class   | type | name+name |
+         | N1  | place   | city | Halle (Saale) |
+        When importing
+        Then search_name contains
+         | object | name_vector |
+         | N1     | #Halle Saale, #Halle |
+
     Scenario: Unnamed POIs have no search entry
         Given the scene roads-with-pois
         And the places
     Scenario: Unnamed POIs have no search entry
         Given the scene roads-with-pois
         And the places
@@ -24,19 +47,19 @@ Feature: Creation of search terms
         When importing
         Then search_name contains
          | object | nameaddress_vector |
         When importing
         Then search_name contains
          | object | nameaddress_vector |
-         | N1     | Rose, Street, Walltown |
-        When searching for "23 Rose Street, Walltown"
+         | N1     | #Rose Street, Walltown |
+        When sending search query "23 Rose Street, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
-        When searching for "Walltown, Rose Street 23"
+         | osm | display_name |
+         | N1  | 23, Rose Street |
+        When sending search query "Walltown, Rose Street 23"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
-        When searching for "Rose Street 23, Walltown"
+         | osm | display_name |
+         | N1  | 23, Rose Street |
+        When sending search query "Rose Street 23, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
+         | osm | display_name |
+         | N1  | 23, Rose Street |
 
     Scenario: Searching for unknown addr: tags also works for multiple words
         Given the scene roads-with-pois
 
     Scenario: Searching for unknown addr: tags also works for multiple words
         Given the scene roads-with-pois
@@ -49,19 +72,19 @@ Feature: Creation of search terms
         When importing
         Then search_name contains
          | object | nameaddress_vector |
         When importing
         Then search_name contains
          | object | nameaddress_vector |
-         | N1     | Rose Street, Little, Big, Town |
-        When searching for "23 Rose Street, Little Big Town"
+         | N1     | #Rose Street, rose, Little, Big, Town |
+        When sending search query "23 Rose Street, Little Big Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
-        When searching for "Rose Street 23, Little Big Town"
+         | osm | display_name |
+         | N1  | 23, Rose Street |
+        When sending search query "Rose Street 23, Little Big Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
-        When searching for "Little big Town, Rose Street 23"
+         | osm | display_name |
+         | N1  | 23, Rose Street |
+        When sending search query "Little big Town, Rose Street 23"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
+         | osm | display_name |
+         | N1  | 23, Rose Street |
 
      Scenario: Unnamed POI has no search entry when it has known addr: tags
         Given the scene roads-with-pois
 
      Scenario: Unnamed POI has no search entry when it has known addr: tags
         Given the scene roads-with-pois
@@ -73,10 +96,10 @@ Feature: Creation of search terms
          | W1  | highway | residential | Rose Street | Walltown | :w-north |
         When importing
         Then search_name has no entry for N1
          | W1  | highway | residential | Rose Street | Walltown | :w-north |
         When importing
         Then search_name has no entry for N1
-        When searching for "23 Rose Street, Walltown"
+        When sending search query "23 Rose Street, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
+         | osm | display_name |
+         | N1  | 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
@@ -102,26 +125,23 @@ Feature: Creation of search terms
         Then placex contains
          | object | parent_place_id |
          | N1     | N2              |
         Then placex contains
          | object | parent_place_id |
          | N1     | N2              |
-        Then search_name contains
-         | object | name_vector | nameaddress_vector |
-         | N1     | #Walltown   | Strange, Town |
-        When searching for "23 Rose Street"
+        When sending search query "23 Rose Street"
         Then exactly 1 results are returned
         And results contain
         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"
+         | osm | display_name |
+         | W1  | Rose Street, Strange Town |
+        When sending search query "23 Walltown, Strange Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Walltown, Strange Town |
-        When searching for "Walltown 23, Strange Town"
+         | osm | display_name |
+         | N1  | 23, Walltown, Strange Town |
+        When sending search query "Walltown 23, Strange Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Walltown, Strange Town |
-        When searching for "Strange Town, Walltown 23"
+         | osm | display_name |
+         | N1  | 23, Walltown, Strange Town |
+        When sending search query "Strange Town, Walltown 23"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Walltown, Strange Town |
+         | osm | display_name |
+         | N1  | 23, Walltown, Strange Town |
 
     Scenario: Named POIs can be searched by housenumber when unknown addr:place is present
         Given the scene roads-with-pois
 
     Scenario: Named POIs can be searched by housenumber when unknown addr:place is present
         Given the scene roads-with-pois
@@ -133,29 +153,26 @@ Feature: Creation of search terms
          | W1  | highway | residential | Rose Street  | :w-north |
          | N2  | place   | city        | Strange Town | :p-N1 |
         When importing
          | W1  | highway | residential | Rose Street  | :w-north |
          | N2  | place   | city        | Strange Town | :p-N1 |
         When importing
-        Then search_name contains
-         | object | name_vector      | nameaddress_vector      |
-         | N1     | #Walltown, #Blue house | Walltown, Strange, Town |
-        When searching for "23 Walltown, Strange Town"
+        When sending search query "23 Walltown, Strange Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Blue house, 23, Walltown, Strange Town |
-        When searching for "Walltown 23, Strange Town"
+         | osm | display_name |
+         | N1  | Blue house, 23, Walltown, Strange Town |
+        When sending search query "Walltown 23, Strange Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Blue house, 23, Walltown, Strange Town |
-        When searching for "Strange Town, Walltown 23"
+         | osm | display_name |
+         | N1  | Blue house, 23, Walltown, Strange Town |
+        When sending search query "Strange Town, Walltown 23"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Blue house, 23, Walltown, Strange Town |
-        When searching for "Strange Town, Walltown 23, Blue house"
+         | osm | display_name |
+         | N1  | Blue house, 23, Walltown, Strange Town |
+        When sending search query "Strange Town, Walltown 23, Blue house"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Blue house, 23, Walltown, Strange Town |
-        When searching for "Strange Town, Walltown, Blue house"
+         | osm | display_name |
+         | N1  | Blue house, 23, Walltown, Strange Town |
+        When sending search query "Strange Town, Walltown, Blue house"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Blue house, 23, Walltown, Strange Town |
+         | osm | display_name |
+         | N1  | Blue house, 23, Walltown, Strange Town |
 
     Scenario: Named POIs can be found when unknown multi-word addr:place is present
         Given the scene roads-with-pois
 
     Scenario: Named POIs can be found when unknown multi-word addr:place is present
         Given the scene roads-with-pois
@@ -167,17 +184,14 @@ Feature: Creation of search terms
          | W1  | highway | residential | Rose Street  | :w-north |
          | N2  | place   | city        | Strange Town | :p-N1 |
         When importing
          | W1  | highway | residential | Rose Street  | :w-north |
          | N2  | place   | city        | Strange Town | :p-N1 |
         When importing
-        Then search_name contains
-         | object | name_vector      | nameaddress_vector      |
-         | N1     | #Moon sun, #Blue house | Moon, Sun, Strange, Town |
-        When searching for "23 Moon Sun, Strange Town"
+        When sending search query "23 Moon Sun, Strange Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Blue house, 23, Moon sun, Strange Town |
-        When searching for "Blue house, Moon Sun, Strange Town"
+         | osm | display_name |
+         | N1  | Blue house, 23, Moon sun, Strange Town |
+        When sending search query "Blue house, Moon Sun, Strange Town"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Blue house, 23, Moon sun, Strange Town |
+         | osm | display_name |
+         | N1  | Blue house, 23, Moon sun, Strange Town |
 
     Scenario: Unnamed POIs doesn't inherit parent name when addr:place is present only in parent address
         Given the scene roads-with-pois
 
     Scenario: Unnamed POIs doesn't inherit parent name when addr:place is present only in parent address
         Given the scene roads-with-pois
@@ -189,19 +203,16 @@ Feature: Creation of search terms
          | W1  | highway | residential | Rose Street  | Walltown  | :w-north |
          | N2  | place   | suburb      | Strange Town | Walltown  | :p-N1 |
         When importing
          | 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 |
-         | N1     | #Walltown   | Strange, Town      |
-        When searching for "23 Rose Street, Walltown"
+        When sending search query "23 Rose Street, Walltown"
         Then exactly 1 result is returned
         And results contain
         Then exactly 1 result is returned
         And results contain
-         | osm_type | osm_id | name |
-         | W        | 1      | Rose Street, Strange Town |
-        When searching for "23  Walltown"
+         | osm | display_name |
+         | W1  | Rose Street, Strange Town |
+        When sending search query "23  Walltown"
         Then exactly 1 result is returned
         And results contain
         Then exactly 1 result is returned
         And results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Walltown, Strange Town |
+         | osm | display_name |
+         | N1  | 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
@@ -213,11 +224,11 @@ Feature: Creation of search terms
          | W1  | highway | residential | Rose Street | :w-north |
         When importing
         Then search_name has no entry for N1
          | W1  | highway | residential | Rose Street | :w-north |
         When importing
         Then search_name has no entry for N1
-        When searching for "23 Rose Street"
+        When sending search query "23 Rose Street"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
-        When searching for "23 Lily Street"
+         | osm | display_name |
+         | N1  | 23, Rose Street |
+        When sending search query "23 Lily Street"
         Then exactly 0 results are returned
 
     Scenario: An unknown addr:street is ignored
         Then exactly 0 results are returned
 
     Scenario: An unknown addr:street is ignored
@@ -230,11 +241,11 @@ Feature: Creation of search terms
          | W1  | highway | residential | Rose Street | :w-north |
         When importing
         Then search_name has no entry for N1
          | W1  | highway | residential | Rose Street | :w-north |
         When importing
         Then search_name has no entry for N1
-        When searching for "23 Rose Street"
+        When sending search query "23 Rose Street"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | 23, Rose Street |
-        When searching for "23 Lily Street"
+         | osm | display_name |
+         | N1  | 23, Rose Street |
+        When sending search query "23 Lily Street"
         Then exactly 0 results are returned
 
     Scenario: Named POIs get unknown address tags added in the search_name table
         Then exactly 0 results are returned
 
     Scenario: Named POIs get unknown address tags added in the search_name table
@@ -248,27 +259,27 @@ Feature: Creation of search terms
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
-         | N1     | #Green Moss | Rose, Street, Walltown |
-        When searching for "Green Moss, Rose Street, Walltown"
+         | N1     | #Green Moss | #Rose Street, Walltown |
+        When sending search query "Green Moss, Rose Street, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Green Moss, 26, Rose Street |
-        When searching for "Green Moss, 26, Rose Street, Walltown"
+         | osm | display_name |
+         | N1  | Green Moss, 26, Rose Street |
+        When sending search query "Green Moss, 26, Rose Street, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Green Moss, 26, Rose Street |
-        When searching for "26, Rose Street, Walltown"
+         | osm | display_name |
+         | N1  | Green Moss, 26, Rose Street |
+        When sending search query "26, Rose Street, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Green Moss, 26, Rose Street |
-        When searching for "Rose Street 26, Walltown"
+         | osm | display_name |
+         | N1  | Green Moss, 26, Rose Street |
+        When sending search query "Rose Street 26, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Green Moss, 26, Rose Street |
-        When searching for "Walltown, Rose Street 26"
+         | osm | display_name |
+         | N1  | Green Moss, 26, Rose Street |
+        When sending search query "Walltown, Rose Street 26"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Green Moss, 26, Rose Street |
+         | osm | display_name |
+         | N1  | Green Moss, 26, 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
@@ -280,15 +291,12 @@ Feature: Creation of search terms
          | W1  | highway | residential | Rose Street  | :w-north |
          | N2  | place   | suburb      | Strange Town | :p-N1 |
         When importing
          | 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 sending search query "Green Moss, Rose Street, Walltown"
         Then exactly 0 result is returned
         Then exactly 0 result is returned
-        When searching for "Green Moss, Walltown"
+        When sending search query "Green Moss, Walltown"
         Then results contain
         Then results contain
-         | osm_type | osm_id | name |
-         | N        | 1      | Green Moss, Walltown, Strange Town |
+         | osm | display_name |
+         | N1  | 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
@@ -299,7 +307,7 @@ Feature: Creation of search terms
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
         When importing
         Then search_name contains
          | object | name_vector | nameaddress_vector |
-         | N1     | foo         | the road |
+         | N1     | foo         | #the road |
 
     Scenario: Some addr: tags are added to address
         Given the scene roads-with-pois
 
     Scenario: Some addr: tags are added to address
         Given the scene roads-with-pois