From: Sarah Hoffmann Date: Tue, 4 Jul 2023 14:54:42 +0000 (+0200) Subject: add a small penalty to lookups in address vectors X-Git-Tag: v4.3.0~56^2~5 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/3266daa8fde98acc1fe4c9929cb5be3aed662add?hp=ce17b0eecaa7add29e4eb04e06b2580daa656bf2 add a small penalty to lookups in address vectors --- diff --git a/nominatim/api/search/db_search_builder.py b/nominatim/api/search/db_search_builder.py index 9ff8c03c..67db3247 100644 --- a/nominatim/api/search/db_search_builder.py +++ b/nominatim/api/search/db_search_builder.py @@ -210,7 +210,9 @@ class SearchBuilder: exp_addr_count = min(t.count for t in addr_partials) if addr_partials else exp_name_count if exp_addr_count < 1000 and partials_indexed: # Lookup by address partials and restrict results through name terms. - yield penalty, exp_addr_count,\ + # Give this a small penalty because lookups in the address index are + # more expensive + yield penalty + exp_addr_count/5000, exp_addr_count,\ [dbf.FieldLookup('name_vector', [t.token for t in name_partials], 'restrict'), dbf.FieldLookup('nameaddress_vector', addr_tokens, 'lookup_all')] return