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),