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:
Sarah Hoffmann
2017-10-02 21:57:44 +02:00
parent e7e7ae0104
commit e8c52c6780

View File

@@ -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;