X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/ffb2c93ba3b0645b98527e5b87bba2a5f3477edf..22800d7d59f952ced174008669e5eddadf1117d8:/test/bdd/db/import/search_name.feature diff --git a/test/bdd/db/import/search_name.feature b/test/bdd/db/import/search_name.feature index fe339f13..0e922e1d 100644 --- a/test/bdd/db/import/search_name.feature +++ b/test/bdd/db/import/search_name.feature @@ -23,14 +23,47 @@ Feature: Creation of search terms | W1 | highway | residential | Rose Street | :w-north | When importing Then search_name contains - | object | name_vector | nameaddress_vector | - | N1 | #23 | Rose Street, Walltown | + | object | nameaddress_vector | + | N1 | Rose, Street, Walltown | When searching for "23 Rose Street, Walltown" Then results contain | osm_type | osm_id | name | | N | 1 | 23, Rose Street | + When searching for "Walltown, Rose Street 23" + Then results contain + | osm_type | osm_id | name | + | N | 1 | 23, Rose Street | + When searching for "Rose Street 23, Walltown" + 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 + 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 | nameaddress_vector | + | N1 | 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 | + When searching for "Rose Street 23, Little Big Town" + Then results contain + | osm_type | osm_id | name | + | N | 1 | 23, Rose Street | + When searching for "Little big Town, Rose Street 23" + 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 | @@ -71,7 +104,7 @@ Feature: Creation of search terms | N1 | N2 | Then search_name contains | object | name_vector | nameaddress_vector | - | N1 | #23 | Walltown, Strange, Town | + | N1 | #Walltown | Strange, Town | When searching for "23 Rose Street" Then exactly 1 results are returned And results contain @@ -81,6 +114,70 @@ Feature: Creation of search terms Then results contain | osm_type | osm_id | name | | N | 1 | 23, Walltown, Strange Town | + When searching for "Walltown 23, Strange Town" + Then results contain + | osm_type | osm_id | name | + | N | 1 | 23, Walltown, Strange Town | + When searching for "Strange Town, Walltown 23" + Then results contain + | osm_type | osm_id | name | + | N | 1 | 23, Walltown, Strange Town | + + Scenario: Named POIs can be searched by housenumber when unknown addr:place is present + Given the scene roads-with-pois + And the places + | osm | class | type | name | housenr | addr+place | geometry | + | N1 | place | house | Blue house | 23 | Walltown | :p-N1 | + And the places + | osm | class | type | name+name | geometry | + | 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" + Then results contain + | osm_type | osm_id | name | + | N | 1 | Blue house, 23, Walltown, Strange Town | + When searching for "Walltown 23, Strange Town" + Then results contain + | osm_type | osm_id | name | + | N | 1 | Blue house, 23, Walltown, Strange Town | + When searching for "Strange Town, Walltown 23" + 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" + Then results contain + | osm_type | osm_id | name | + | N | 1 | Blue house, 23, Walltown, Strange Town | + When searching for "Strange Town, Walltown, Blue house" + Then results contain + | osm_type | osm_id | name | + | N | 1 | 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 + And the places + | osm | class | type | name | housenr | addr+place | geometry | + | N1 | place | house | Blue house | 23 | Moon sun | :p-N1 | + And the places + | osm | class | type | name+name | geometry | + | 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" + 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" + Then results contain + | osm_type | osm_id | name | + | N | 1 | 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 @@ -94,7 +191,7 @@ Feature: Creation of search terms When importing Then search_name contains | object | name_vector | nameaddress_vector | - | N1 | #23 | Walltown | + | N1 | #Walltown | Strange, Town | When searching for "23 Rose Street, Walltown" Then exactly 1 result is returned And results contain @@ -140,22 +237,38 @@ Feature: Creation of search terms When searching for "23 Lily Street" Then exactly 0 results are returned - Scenario: Named POIs have unknown address tags added in the search_name table + Scenario: Named POIs get unknown address tags added in the search_name table Given the scene roads-with-pois And the places - | osm | class | type | name+name | addr+city | geometry | - | N1 | place | house | Green Moss | Walltown | :p-N1 | + | osm | class | type | name+name | housenr | addr+city | geometry | + | N1 | place | house | Green Moss | 26 | Walltown | :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 | #Green Moss | Rose Street, Walltown | + | N1 | #Green Moss | Rose, Street, Walltown | When searching for "Green Moss, Rose Street, Walltown" Then results contain | osm_type | osm_id | name | - | N | 1 | Green Moss, Rose Street | + | N | 1 | Green Moss, 26, Rose Street | + When searching for "Green Moss, 26, Rose Street, Walltown" + Then results contain + | osm_type | osm_id | name | + | N | 1 | Green Moss, 26, Rose Street | + When searching for "26, Rose Street, Walltown" + Then results contain + | osm_type | osm_id | name | + | N | 1 | Green Moss, 26, Rose Street | + When searching for "Rose Street 26, Walltown" + Then results contain + | osm_type | osm_id | name | + | N | 1 | Green Moss, 26, Rose Street | + When searching for "Walltown, Rose Street 26" + Then results contain + | osm_type | osm_id | name | + | N | 1 | 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 @@ -200,7 +313,7 @@ Feature: Creation of search terms 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