From: Sarah Hoffmann Date: Thu, 12 Oct 2017 20:59:07 +0000 (+0200) Subject: take frequency scores from token description X-Git-Tag: v3.1.0~43^2~6 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/77abe882ab160669d5206f94426353883750857f take frequency scores from token description No need to hand them in separately. --- diff --git a/lib/Geocode.php b/lib/Geocode.php index 399139f0..bf0782f1 100644 --- a/lib/Geocode.php +++ b/lib/Geocode.php @@ -669,7 +669,7 @@ class Geocode return $aSearchResults; } - public function getGroupedSearches($aSearches, $aPhrases, $aValidTokens, $aWordFrequencyScores, $bIsStructured, $sNormQuery) + public function getGroupedSearches($aSearches, $aPhrases, $aValidTokens, $bIsStructured, $sNormQuery) { /* Calculate all searches using aValidTokens i.e. @@ -745,7 +745,6 @@ class Geocode $aSearchTerm, $bIsStructured, $iPhrase, - $aWordFrequencyScores, isset($aValidTokens[' '.$sToken]) ? $aValidTokens[' '.$sToken] : array() ); @@ -1037,7 +1036,7 @@ class Geocode // Any words that have failed completely? // TODO: suggestions - $aGroupedSearches = $this->getGroupedSearches($aSearches, $aPhrases, $aValidTokens, $aWordFrequencyScores, $bStructuredPhrases, $sNormQuery); + $aGroupedSearches = $this->getGroupedSearches($aSearches, $aPhrases, $aValidTokens, $bStructuredPhrases, $sNormQuery); if ($this->bReverseInPlan) { // Reverse phrase array and also reverse the order of the wordsets in @@ -1048,7 +1047,7 @@ class Geocode if (sizeof($aPhrases) > 1) { $aPhrases[sizeof($aPhrases)-1]->invertWordSets(); } - $aReverseGroupedSearches = $this->getGroupedSearches($aSearches, $aPhrases, $aValidTokens, $aWordFrequencyScores, false, $sNormQuery); + $aReverseGroupedSearches = $this->getGroupedSearches($aSearches, $aPhrases, $aValidTokens, false, $sNormQuery); foreach ($aGroupedSearches as $aSearches) { foreach ($aSearches as $aSearch) { diff --git a/lib/SearchDescription.php b/lib/SearchDescription.php index 1f3765ab..143d2864 100644 --- a/lib/SearchDescription.php +++ b/lib/SearchDescription.php @@ -333,14 +333,12 @@ class SearchDescription * @param mixed[] $aSearchTerm Description of the token. * @param bool $bStructuredPhrases True if the search is structured. * @param integer $iPhrase Number of the phrase the token is in. - * @param mixed[] $aWordFrequencyScores Number of times tokens appears - * overall in a planet database. * @param array[] $aFullTokens List of full term tokens with the * same name. * * @return SearchDescription[] List of derived search descriptions. */ - public function extendWithPartialTerm($aSearchTerm, $bStructuredPhrases, $iPhrase, &$aWordFrequencyScores, $aFullTokens) + public function extendWithPartialTerm($aSearchTerm, $bStructuredPhrases, $iPhrase, $aFullTokens) { // Only allow name terms. if (!(isset($aSearchTerm['word_id']) && $aSearchTerm['word_id'])) { @@ -354,7 +352,7 @@ class SearchDescription && sizeof($this->aName) && strpos($aSearchTerm['word_token'], ' ') === false ) { - if ($aWordFrequencyScores[$iWordID] < CONST_Max_Word_Frequency) { + if ($aSearchTerm['search_name_count'] + 1 < CONST_Max_Word_Frequency) { $oSearch = clone $this; $oSearch->iSearchRank++; $oSearch->aAddress[$iWordID] = $iWordID; @@ -397,7 +395,7 @@ class SearchDescription if (preg_match('#^[0-9]+$#', $aSearchTerm['word_token'])) { $oSearch->iSearchRank += 2; } - if ($aWordFrequencyScores[$iWordID] < CONST_Max_Word_Frequency) { + if ($aSearchTerm['search_name_count'] + 1 < CONST_Max_Word_Frequency) { $oSearch->aName[$iWordID] = $iWordID; } else { $oSearch->aNameNonSearch[$iWordID] = $iWordID;