]> git.openstreetmap.org Git - nominatim.git/commitdiff
deduplicate words: do not look for duplicates in empty partitions
authorChristian von Roques <roques@mti.ag>
Tue, 4 Apr 2017 17:00:36 +0000 (19:00 +0200)
committerChristian von Roques <roques@mti.ag>
Sat, 15 Apr 2017 17:12:25 +0000 (19:12 +0200)
utils/update.php

index 52577d8889a31e235b8c1980b2479db2f6e484d3..d8ac134add94d52c2894a59a1e59569f2296750f 100755 (executable)
@@ -166,6 +166,15 @@ if ($aResult['deduplicate']) {
     $aPartitions = chksql($oDB->getCol($sSQL));
     $aPartitions[] = 0;
 
     $aPartitions = chksql($oDB->getCol($sSQL));
     $aPartitions[] = 0;
 
+    // we don't care about empty search_name_* artitions, they can't contain mentions of duplicates
+    foreach ($aPartitions as $i => $sPartition) {
+        $sSQL = "select count(*) from search_name_".$sPartition;
+        $nEntries = chksql($oDB->getOne($sSQL));
+        if ($nEntries == 0) {
+            unset($aPartitions[$i]);
+        }
+    }
+
     $sSQL = "select word_token,count(*) from word where substr(word_token, 1, 1) = ' '";
     $sSQL .= " and class is null and type is null and country_code is null";
     $sSQL .= " group by word_token having count(*) > 1 order by word_token";
     $sSQL = "select word_token,count(*) from word where substr(word_token, 1, 1) = ' '";
     $sSQL .= " and class is null and type is null and country_code is null";
     $sSQL .= " group by word_token having count(*) > 1 order by word_token";