Skip to content

Commit

Permalink
Increase exp_count thresholds 3-fold only for frequent partials
Browse files Browse the repository at this point in the history
  • Loading branch information
pawel-wroniszewski committed Oct 31, 2024
1 parent 04bc29f commit 1a67610
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/nominatim_api/search/db_search_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ def yield_lookups(self, name: TokenRange, address: List[TokenRange])\
# To catch remaining results, lookup by name and address
# We only do this if there is a reasonable number of results expected.
exp_count = exp_count / (2**len(addr_tokens)) if addr_tokens else exp_count
if exp_count < 10000 and addr_count < 20000\
if exp_count < 30000 and addr_count < 20000\
and all(t.is_indexed for t in name_partials.values()):
penalty += 0.35 * max(1 if name_fulls else 0.1,
5 - len(name_partials) - len(addr_tokens))
Expand Down
2 changes: 1 addition & 1 deletion src/nominatim_api/search/db_searches.py
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,7 @@ def _inner_search_name_cte(self, conn: SearchConnection,
if self.postcodes:
# if a postcode is given, don't search for state or country level objects
sql = sql.where(t.c.address_rank > 9)
if self.expected_count > 10000:
if self.expected_count > 30000:
# Many results expected. Restrict by postcode.
tpc = conn.t.postcode
sql = sql.where(sa.select(tpc.c.postcode)
Expand Down

0 comments on commit 1a67610

Please sign in to comment.