mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-07 10:34:08 +00:00
Merge pull request #1960 from lonvia/fix-postcodes-duplicated-by-normalization
Make sure that all postcodes have an entry in the word table
This commit is contained in:
@@ -81,7 +81,8 @@ BEGIN
|
|||||||
lookup_word := upper(trim(postcode));
|
lookup_word := upper(trim(postcode));
|
||||||
lookup_token := ' ' || make_standard_name(lookup_word);
|
lookup_token := ' ' || make_standard_name(lookup_word);
|
||||||
SELECT min(word_id) FROM word
|
SELECT min(word_id) FROM word
|
||||||
WHERE word_token = lookup_token and class='place' and type='postcode'
|
WHERE word_token = lookup_token and word = lookup_word
|
||||||
|
and class='place' and type='postcode'
|
||||||
INTO return_word_id;
|
INTO return_word_id;
|
||||||
IF return_word_id IS NULL THEN
|
IF return_word_id IS NULL THEN
|
||||||
return_word_id := nextval('seq_word');
|
return_word_id := nextval('seq_word');
|
||||||
|
|||||||
@@ -137,3 +137,22 @@ Feature: Import of postcodes
|
|||||||
And word contains
|
And word contains
|
||||||
| word | class | type |
|
| word | class | type |
|
||||||
| 01982 | place | postcode |
|
| 01982 | place | postcode |
|
||||||
|
|
||||||
|
Scenario: Different postcodes with the same normalization can both be found
|
||||||
|
Given the places
|
||||||
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
||||||
|
| N34 | place | house | EH4 7EA | 111 | country:gb |
|
||||||
|
| N35 | place | house | E4 7EA | 111 | country:gb |
|
||||||
|
When importing
|
||||||
|
Then location_postcode contains exactly
|
||||||
|
| country | postcode | geometry |
|
||||||
|
| gb | EH4 7EA | country:gb |
|
||||||
|
| gb | E4 7EA | country:gb |
|
||||||
|
When searching for "EH4 7EA"
|
||||||
|
Then results contain
|
||||||
|
| type | placename |
|
||||||
|
| postcode | EH4 7EA |
|
||||||
|
When searching for "E4 7EA"
|
||||||
|
Then results contain
|
||||||
|
| type | placename |
|
||||||
|
| postcode | E4 7EA |
|
||||||
|
|||||||
Reference in New Issue
Block a user