]> git.openstreetmap.org Git - nominatim.git/commitdiff
take frequency scores from token description
authorSarah Hoffmann <lonvia@denofr.de>
Thu, 12 Oct 2017 20:59:07 +0000 (22:59 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 12 Oct 2017 20:59:07 +0000 (22:59 +0200)
No need to hand them in separately.

lib/Geocode.php
lib/SearchDescription.php

index 399139f08585773406d5e2df36a968dd809129e3..bf0782f1430d4ba858c88e81abaa5578c55832ca 100644 (file)
@@ -669,7 +669,7 @@ class Geocode
         return $aSearchResults;
     }
 
         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.
     {
         /*
              Calculate all searches using aValidTokens i.e.
@@ -745,7 +745,6 @@ class Geocode
                                     $aSearchTerm,
                                     $bIsStructured,
                                     $iPhrase,
                                     $aSearchTerm,
                                     $bIsStructured,
                                     $iPhrase,
-                                    $aWordFrequencyScores,
                                     isset($aValidTokens[' '.$sToken]) ? $aValidTokens[' '.$sToken] : array()
                                 );
 
                                     isset($aValidTokens[' '.$sToken]) ? $aValidTokens[' '.$sToken] : array()
                                 );
 
@@ -1037,7 +1036,7 @@ class Geocode
                 // Any words that have failed completely?
                 // TODO: suggestions
 
                 // 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
 
                 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();
                     }
                     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) {
 
                     foreach ($aGroupedSearches as $aSearches) {
                         foreach ($aSearches as $aSearch) {
index 1f3765ab0d1621c6334aa8234ca0811a9808a172..143d28647dc1c21db91089fb7a804d74cfee32c0 100644 (file)
@@ -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[] $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.
      */
      * @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'])) {
     {
         // 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
         ) {
             && 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;
                 $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 (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;
                 $oSearch->aName[$iWordID] = $iWordID;
             } else {
                 $oSearch->aNameNonSearch[$iWordID] = $iWordID;