mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-06 18:14:16 +00:00
correctly exclude streets with housenumber searches
Street result are not subject to the full filtering in the SQL query, so recheck.
This commit is contained in:
@@ -766,9 +766,6 @@ class PlaceSearch(AbstractSearch):
|
||||
assert result
|
||||
result.bbox = Bbox.from_wkb(row.bbox)
|
||||
result.accuracy = row.accuracy
|
||||
if not details.excluded or not result.place_id in details.excluded:
|
||||
results.append(result)
|
||||
|
||||
if self.housenumbers and row.rank_address < 30:
|
||||
if row.placex_hnr:
|
||||
subs = _get_placex_housenumbers(conn, row.placex_hnr, details)
|
||||
@@ -788,6 +785,14 @@ class PlaceSearch(AbstractSearch):
|
||||
sub.accuracy += 0.6
|
||||
results.append(sub)
|
||||
|
||||
result.accuracy += 1.0 # penalty for missing housenumber
|
||||
# Only add the street as a result, if it meets all other
|
||||
# filter conditions.
|
||||
if (not details.excluded or result.place_id not in details.excluded)\
|
||||
and (not self.qualifiers or result.category in self.qualifiers.values)\
|
||||
and result.rank_address >= details.min_rank:
|
||||
result.accuracy += 1.0 # penalty for missing housenumber
|
||||
results.append(result)
|
||||
else:
|
||||
results.append(result)
|
||||
|
||||
return results
|
||||
|
||||
Reference in New Issue
Block a user