+ Scenario: Unnamed POI has a search entry when it has unknown addr: tags
+ Given the grid
+ | | 1 | | |
+ | 10 | | | 11 |
+ And the places
+ | osm | class | type | housenr | addr+city |
+ | N1 | place | house | 23 | Walltown |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ When importing
+ Then search_name contains
+ | object | nameaddress_vector |
+ | N1 | #Rose Street, Walltown |
+ When sending search query "23 Rose Street, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Rose Street |
+ When sending search query "Walltown, Rose Street 23"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Rose Street |
+ When sending search query "Rose Street 23, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Rose Street |
+
+ Scenario: Searching for unknown addr: tags also works for multiple words
+ Given the grid
+ | | 1 | | |
+ | 10 | | | 11 |
+ And the places
+ | osm | class | type | housenr | addr+city |
+ | N1 | place | house | 23 | Little Big Town |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ When importing
+ Then search_name contains
+ | object | nameaddress_vector |
+ | N1 | #Rose Street, rose, Little, Big, Town |
+ When sending search query "23 Rose Street, Little Big Town"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Rose Street |
+ When sending search query "Rose Street 23, Little Big Town"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Rose Street |
+ When sending search query "Little big Town, Rose Street 23"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Rose Street |
+
+ Scenario: Unnamed POI has no search entry when it has known addr: tags
+ Given the grid
+ | | 1 | | |
+ | 10 | | | 11 |
+ And the places
+ | osm | class | type | housenr | addr+city |
+ | N1 | place | house | 23 | Walltown |
+ And the places
+ | osm | class | type | name+name | addr+city | geometry |
+ | W1 | highway | residential | Rose Street | Walltown | 10,11 |
+ When importing
+ Then search_name has no entry for N1
+ When sending search query "23 Rose Street, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Rose Street |
+
+ Scenario: Unnamed POI must have a house number to get a search entry
+ Given the grid
+ | | 1 | | |
+ | 10 | | | 11 |
+ And the places
+ | osm | class | type | addr+city |
+ | N1 | place | house | Walltown |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ When importing
+ Then search_name has no entry for N1
+
+ Scenario: Unnamed POIs inherit parent name when unknown addr:place is present
+ Given the grid
+ | 100 | | | | | 101 |
+ | | | 1 | | | |
+ | 103 | 10 | | | 11 | 102 |
+ And the places
+ | osm | class | type | housenr | addr+place |
+ | N1 | place | house | 23 | Walltown |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ | R1 | place | city | Strange Town | (100,101,102,103,100) |
+ When importing
+ Then placex contains
+ | object | parent_place_id |
+ | N1 | R1 |
+ When sending search query "23 Rose Street"
+ Then exactly 1 results are returned
+ And results contain
+ | osm | display_name |
+ | W1 | Rose Street, Strange Town |
+ When sending search query "23 Walltown, Strange Town"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Walltown, Strange Town |
+ When sending search query "Walltown 23, Strange Town"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Walltown, Strange Town |
+ When sending search query "Strange Town, Walltown 23"
+ Then results contain
+ | osm | display_name |
+ | N1 | 23, Walltown, Strange Town |
+
+ Scenario: Named POIs can be searched by housenumber when unknown addr:place is present
+ Given the grid
+ | 100 | | | | | 101 |
+ | | | 1 | | | |
+ | 103 | 10 | | | 11 | 102 |
+ And the places
+ | osm | class | type | name | housenr | addr+place |
+ | N1 | place | house | Blue house | 23 | Walltown |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ | R1 | place | city | Strange Town | (100,101,102,103,100) |
+ When importing
+ When sending search query "23 Walltown, Strange Town"
+ Then results contain
+ | osm | display_name |
+ | N1 | Blue house, 23, Walltown, Strange Town |
+ When sending search query "Walltown 23, Strange Town"
+ Then results contain
+ | osm | display_name |
+ | N1 | Blue house, 23, Walltown, Strange Town |
+ When sending search query "Strange Town, Walltown 23"
+ Then results contain
+ | osm | display_name |
+ | N1 | Blue house, 23, Walltown, Strange Town |
+ When sending search query "Strange Town, Walltown 23, Blue house"
+ Then results contain
+ | osm | display_name |
+ | N1 | Blue house, 23, Walltown, Strange Town |
+ When sending search query "Strange Town, Walltown, Blue house"
+ Then results contain
+ | 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 grid
+ | 100 | | | | | 101 |
+ | | | 1 | | | |
+ | 103 | 10 | | | 11 | 102 |
+ And the places
+ | osm | class | type | name | housenr | addr+place |
+ | N1 | place | house | Blue house | 23 | Moon sun |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ | R1 | place | city | Strange Town | (100,101,102,103,100) |
+ When importing
+ When sending search query "23 Moon Sun, Strange Town"
+ Then results contain
+ | osm | display_name |
+ | N1 | Blue house, 23, Moon sun, Strange Town |
+ When sending search query "Blue house, Moon Sun, Strange Town"
+ Then results contain
+ | 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 grid
+ | 100 | | | | | 101 |
+ | | | 1 | | | |
+ | 103 | 10 | | | 11 | 102 |
+ And the places
+ | osm | class | type | housenr | addr+place |
+ | N1 | place | house | 23 | Walltown |
+ And the places
+ | osm | class | type | name+name | addr+city | geometry |
+ | W1 | highway | residential | Rose Street | Walltown | 10,11 |
+ | R1 | place | suburb | Strange Town | Walltown | (100,101,102,103,100) |
+ When importing
+ When sending search query "23 Rose Street, Walltown"
+ Then exactly 1 result is returned
+ And results contain
+ | osm | display_name |
+ | W1 | Rose Street, Strange Town |
+ When sending search query "23 Walltown"
+ Then exactly 1 result is returned
+ And results contain
+ | 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 grid
+ | | 1 | | |
+ | 10 | | | 11 |
+ And the places
+ | osm | class | type | housenr | addr+place | addr+street |
+ | N1 | place | house | 23 | Walltown | Lily Street |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ When importing
+ Then search_name has no entry for N1
+ When sending search query "23 Rose Street"
+ Then results contain
+ | 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
+ Given the grid
+ | | 1 | | |
+ | 10 | | | 11 |
+ And the places
+ | osm | class | type | housenr | addr+street |
+ | N1 | place | house | 23 | Lily Street |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ When importing
+ Then search_name has no entry for N1
+ When sending search query "23 Rose Street"
+ Then results contain
+ | 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
+ Given the grid
+ | | 1 | | |
+ | 10 | | | 11 |
+ And the places
+ | osm | class | type | name+name | housenr | addr+city |
+ | N1 | place | house | Green Moss | 26 | Walltown |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ When importing
+ Then search_name contains
+ | object | name_vector | nameaddress_vector |
+ | N1 | #Green Moss | #Rose Street, Walltown |
+ When sending search query "Green Moss, Rose Street, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | Green Moss, 26, Rose Street |
+ When sending search query "Green Moss, 26, Rose Street, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | Green Moss, 26, Rose Street |
+ When sending search query "26, Rose Street, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | Green Moss, 26, Rose Street |
+ When sending search query "Rose Street 26, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | Green Moss, 26, Rose Street |
+ When sending search query "Walltown, Rose Street 26"
+ Then results contain
+ | 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 grid
+ | 100 | | | | | 101 |
+ | | | 1 | | | |
+ | 103 | 10 | | | 11 | 102 |
+ And the places
+ | osm | class | type | name+name | addr+place |
+ | N1 | place | house | Green Moss | Walltown |
+ And the places
+ | osm | class | type | name+name | geometry |
+ | W1 | highway | residential | Rose Street | 10,11 |
+ | R1 | place | suburb | Strange Town | (100,101,102,103,100) |
+ When importing
+ When sending search query "Green Moss, Rose Street, Walltown"
+ Then exactly 0 result is returned
+ When sending search query "Green Moss, Walltown"
+ Then results contain
+ | osm | display_name |
+ | N1 | Green Moss, Walltown, Strange Town |
+