X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2110207074f4b67b1cea1b4c322201664395a843..12168e3ca9421ab1d0195507919c26ce029ce155:/lib/SearchDescription.php diff --git a/lib/SearchDescription.php b/lib/SearchDescription.php index 5431b3eb..a1910231 100644 --- a/lib/SearchDescription.php +++ b/lib/SearchDescription.php @@ -58,7 +58,7 @@ class SearchDescription /** * Get current search rank. * - * The higher the search rank the lower the likelyhood that the + * The higher the search rank the lower the likelihood that the * search is a correct interpretation of the search query. * * @return integer Search rank. @@ -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";