diff --git a/sql/partition-functions.src.sql b/sql/partition-functions.src.sql index cc11cf96..9ae020e4 100644 --- a/sql/partition-functions.src.sql +++ b/sql/partition-functions.src.sql @@ -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 diff --git a/test/bdd/db/import/parenting.feature b/test/bdd/db/import/parenting.feature index 87467fd2..a3648539 100644 --- a/test/bdd/db/import/parenting.feature +++ b/test/bdd/db/import/parenting.feature @@ -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 |