mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-24 13:31:37 +03:00
fix order when searching for addr:* components
When matching addr:* components the preference was given to matches that do not intersect with the place.
This commit is contained in:
parent
ecee5cf801
commit
bd0e157b91
@ -96,7 +96,7 @@ BEGIN
|
||||
AND rank_address between from_rank and to_rank
|
||||
AND token_matches_address(token_info, key, keywords)
|
||||
GROUP BY place_id, keywords, rank_address, rank_search, isguess, postcode, centroid
|
||||
ORDER BY bool_or(ST_Intersects(geometry, feature)), distance LIMIT 1;
|
||||
ORDER BY bool_or(ST_Intersects(geometry, feature)) DESC, distance LIMIT 1;
|
||||
RETURN r;
|
||||
END IF;
|
||||
{% endfor %}
|
||||
|
@ -506,3 +506,23 @@ Feature: Address computation
|
||||
Then results contain
|
||||
| osm | display_name |
|
||||
| N2 | Leftside, Wonderway, Left |
|
||||
|
||||
|
||||
Scenario: addr:* tags always match the closer area
|
||||
Given the grid
|
||||
| 1 | | | | 2 | | 5 |
|
||||
| | | | | | | |
|
||||
| | 10| 11| | | | |
|
||||
| 4 | | | | 3 | | 6 |
|
||||
And the places
|
||||
| osm | class | type | admin | name | geometry |
|
||||
| R1 | boundary | administrative | 8 | Left | (1,2,3,4,1) |
|
||||
| R2 | boundary | administrative | 8 | Left | (2,3,6,5,2) |
|
||||
And the places
|
||||
| osm | class | type | name | addr+city | geometry |
|
||||
| W1 | highway | primary | Wonderway | Left | 10,11 |
|
||||
When importing
|
||||
Then place_addressline doesn't contain
|
||||
| object | address |
|
||||
| W1 | R2 |
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user