From 3e04eb2ffea6670cef917cd6ecd95619bff707d8 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Mon, 7 Jul 2025 16:07:32 +0200 Subject: [PATCH] increase penalty on mismatching postcodes for address searches Otherwise there is an imbalance towards matching housenumbers instead of the actual street (where no housenumber exists). --- src/nominatim_api/search/db_searches/address_search.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/nominatim_api/search/db_searches/address_search.py b/src/nominatim_api/search/db_searches/address_search.py index 806b0dd5..9862d8f2 100644 --- a/src/nominatim_api/search/db_searches/address_search.py +++ b/src/nominatim_api/search/db_searches/address_search.py @@ -230,7 +230,8 @@ class AddressSearch(base.AbstractSearch): tpc = conn.t.postcode pcs = self.postcodes.values - pc_near = sa.select(sa.func.min(tpc.c.geometry.ST_Distance(t.c.centroid)))\ + pc_near = sa.select(sa.func.min(tpc.c.geometry.ST_Distance(t.c.centroid) + * (tpc.c.rank_search - 19)))\ .where(tpc.c.postcode.in_(pcs))\ .scalar_subquery() penalty += sa.case((t.c.postcode.in_(pcs), 0.0), -- 2.39.5