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);
|
//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;
|
return $aGroupedSearches;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1563,7 +1576,8 @@ class Geocode
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fallback to the road (if no housenumber was found)
|
// 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;
|
$aPlaceIDs = $aRoadPlaceIDs;
|
||||||
//set to -1, if no housenumbers were found
|
//set to -1, if no housenumbers were found
|
||||||
$searchedHousenumber = -1;
|
$searchedHousenumber = -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user