X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/7e00a6e2ff8d7bd3f5f7773b657bad00830fd786..df008d99f549d850d07580b4592435388e44387c:/lib/SearchDescription.php?ds=inline diff --git a/lib/SearchDescription.php b/lib/SearchDescription.php index 4ba28e35..a1910231 100644 --- a/lib/SearchDescription.php +++ b/lib/SearchDescription.php @@ -289,10 +289,14 @@ class SearchDescription $this->aFullNameAddress[$iWordID] = $iWordID; } } else { - $oSearch = clone $this; - $oSearch->iSearchRank++; - $oSearch->aName = array($iWordID => $iWordID); - $aNewSearches[] = $oSearch; + // in structured search only the first phrase can be the + // designated name + if ($sPhraseType == '' || $bFirstPhrase) { + $oSearch = clone $this; + $oSearch->iSearchRank++; + $oSearch->aName = array($iWordID => $iWordID); + $aNewSearches[] = $oSearch; + } } } @@ -675,7 +679,7 @@ class SearchDescription if ($this->sHouseNumber) { $sImportanceSQL = '- abs(26 - address_rank) + 3'; } else { - $sImportanceSQL = '(CASE WHEN importance = 0 OR importance IS NULL THEN 0.75-(search_rank::float/40) ELSE importance END)'; + $sImportanceSQL = '(CASE WHEN importance = 0 OR importance IS NULL THEN 0.75001-(search_rank::float/40) ELSE importance END)'; } $sImportanceSQL .= $this->oContext->viewboxImportanceSQL('centroid'); $aOrder[] = "$sImportanceSQL DESC";