]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/api/search/db_search_builder.py
add a small penalty to lookups in address vectors
[nominatim.git] / nominatim / api / search / db_search_builder.py
index 9ff8c03c90c3d6ef4b7f1ff1c038e24bdb165171..67db32479fc6aa8ad6dc87fd0e8d80897cf5d1c8 100644 (file)
@@ -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