mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-11 05:14:07 +00:00
merge in the postcode and is_in terms into the address vector for search
This commit is contained in:
@@ -1695,8 +1695,15 @@ BEGIN
|
|||||||
FOR i IN 1..array_upper(isin, 1) LOOP
|
FOR i IN 1..array_upper(isin, 1) LOOP
|
||||||
address_street_word_id := get_name_id(make_standard_name(isin[i]));
|
address_street_word_id := get_name_id(make_standard_name(isin[i]));
|
||||||
IF address_street_word_id IS NOT NULL AND NOT(ARRAY[address_street_word_id] <@ isin_tokens) THEN
|
IF address_street_word_id IS NOT NULL AND NOT(ARRAY[address_street_word_id] <@ isin_tokens) THEN
|
||||||
|
nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
|
||||||
isin_tokens := isin_tokens || address_street_word_id;
|
isin_tokens := isin_tokens || address_street_word_id;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
-- merge word into address vector
|
||||||
|
address_street_word_id := get_word_id(make_standard_name(isin[i]));
|
||||||
|
IF address_street_word_id IS NOT NULL THEN
|
||||||
|
nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
|
||||||
|
END IF;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
@@ -1706,8 +1713,15 @@ BEGIN
|
|||||||
FOR i IN 1..array_upper(isin, 1) LOOP
|
FOR i IN 1..array_upper(isin, 1) LOOP
|
||||||
address_street_word_id := get_name_id(make_standard_name(isin[i]));
|
address_street_word_id := get_name_id(make_standard_name(isin[i]));
|
||||||
IF address_street_word_id IS NOT NULL AND NOT(ARRAY[address_street_word_id] <@ isin_tokens) THEN
|
IF address_street_word_id IS NOT NULL AND NOT(ARRAY[address_street_word_id] <@ isin_tokens) THEN
|
||||||
|
nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
|
||||||
isin_tokens := isin_tokens || address_street_word_id;
|
isin_tokens := isin_tokens || address_street_word_id;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
-- merge into address vector
|
||||||
|
address_street_word_id := get_word_id(make_standard_name(isin[i]));
|
||||||
|
IF address_street_word_id IS NOT NULL THEN
|
||||||
|
nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
|
||||||
|
END IF;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
@@ -1718,6 +1732,10 @@ BEGIN
|
|||||||
address_street_word_id := get_name_id(make_standard_name(location.postcode));
|
address_street_word_id := get_name_id(make_standard_name(location.postcode));
|
||||||
nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
|
nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
|
||||||
isin_tokens := isin_tokens || address_street_word_id;
|
isin_tokens := isin_tokens || address_street_word_id;
|
||||||
|
|
||||||
|
-- also merge in the single word version
|
||||||
|
address_street_word_id := get_word_id(make_standard_name(location.postcode));
|
||||||
|
nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
|
||||||
END LOOP;
|
END LOOP;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user