mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-25 14:02:12 +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 rank_address between from_rank and to_rank
|
||||||
AND token_matches_address(token_info, key, keywords)
|
AND token_matches_address(token_info, key, keywords)
|
||||||
GROUP BY place_id, keywords, rank_address, rank_search, isguess, postcode, centroid
|
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;
|
RETURN r;
|
||||||
END IF;
|
END IF;
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -506,3 +506,23 @@ Feature: Address computation
|
|||||||
Then results contain
|
Then results contain
|
||||||
| osm | display_name |
|
| osm | display_name |
|
||||||
| N2 | Leftside, Wonderway, Left |
|
| 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