forked from hans/Nominatim
be more strict with searches involving house numbers
Housenumber searches without a name cannot exist per definition. Searches with only a name but no address should not fall back on a search without house number. This should improve postcode only search.
This commit is contained in:
@@ -910,6 +910,19 @@ class Geocode
|
||||
|
||||
//if (CONST_Debug) _debugDumpGroupedSearches($aGroupedSearches, $aValidTokens);
|
||||
}
|
||||
|
||||
// Revisit searches, giving penalty to unlikely combinations
|
||||
$aGroupedSearches = array();
|
||||
foreach ($aSearches as $aSearch) {
|
||||
if (!$aSearch['aName']) {
|
||||
if ($aSearch['sHouseNumber']) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$aGroupedSearches[$aSearch['iSearchRank']][] = $aSearch;
|
||||
}
|
||||
ksort($aGroupedSearches);
|
||||
|
||||
return $aGroupedSearches;
|
||||
}
|
||||
|
||||
@@ -1563,7 +1576,8 @@ class Geocode
|
||||
}
|
||||
|
||||
// Fallback to the road (if no housenumber was found)
|
||||
if (!sizeof($aPlaceIDs) && preg_match('/[0-9]+/', $aSearch['sHouseNumber'])) {
|
||||
if (!sizeof($aPlaceIDs) && preg_match('/[0-9]+/', $aSearch['sHouseNumber'])
|
||||
&& ($aSearch['aAddress'] || $aSearch['sCountryCode'])) {
|
||||
$aPlaceIDs = $aRoadPlaceIDs;
|
||||
//set to -1, if no housenumbers were found
|
||||
$searchedHousenumber = -1;
|
||||
|
||||
Reference in New Issue
Block a user