always add a penalty for name + address search fallback

If there already was a search by full names, the search is likely
a repeatition that yields the same results, only running slower.
This commit is contained in:
Sarah Hoffmann 2024-01-28 11:48:03 +01:00
parent fed46240d5
commit f9ba7a465a

View File

@ -243,7 +243,8 @@ class SearchBuilder:
lookup = [dbf.FieldLookup('name_vector', list(name_partials.keys()), lookups.LookupAll)]
if addr_tokens:
lookup.append(dbf.FieldLookup('nameaddress_vector', addr_tokens, lookups.LookupAll))
penalty += 0.35 * max(0, 5 - len(name_partials) - len(addr_tokens))
penalty += 0.35 * max(1 if name_fulls else 0.1,
5 - len(name_partials) - len(addr_tokens))
yield penalty, exp_count, lookup