X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/266153f2188e7ce70032af57daf6b30e7f2350b4..c563c2bfec51a12c139c7690934e243dfc8af54a:/lib/Geocode.php?ds=sidebyside diff --git a/lib/Geocode.php b/lib/Geocode.php index 652434cc..a403fa10 100644 --- a/lib/Geocode.php +++ b/lib/Geocode.php @@ -922,7 +922,7 @@ class Geocode //if (CONST_Debug) _debugDumpGroupedSearches($aGroupedSearches, $aValidTokens); } - // Revisit searches, giving penalty to unlikely combinations + // Revisit searches, drop bad searches and give penalty to unlikely combinations. $aGroupedSearches = array(); foreach ($aSearches as $aSearch) { if (!$aSearch['aName']) { @@ -930,6 +930,11 @@ class Geocode continue; } } + if ($this->aCountryCodes && $aSearch['sCountryCode'] + && !in_array($aSearch['sCountryCode'], $this->aCountryCodes)) { + continue; + } + $aSearch['iSearchRank'] += $iGlobalRank; $aGroupedSearches[$aSearch['iSearchRank']][] = $aSearch; } @@ -1256,10 +1261,6 @@ class Geocode if (CONST_Debug) echo "
Search Loop, group $iGroupLoop, loop $iQueryLoop"; if (CONST_Debug) _debugDumpGroupedSearches(array($iGroupedRank => array($aSearch)), $aValidTokens); - if ($sCountryCodesSQL && $aSearch['sCountryCode'] && !in_array($aSearch['sCountryCode'], $this->aCountryCodes)) { - continue; - } - // No location term? if (!sizeof($aSearch['aName']) && !sizeof($aSearch['aAddress'])) { if ($aSearch['sCountryCode'] && !$aSearch['sClass'] && !$aSearch['sHouseNumber'] && !$aSearch['oNear']) {