+ $sBaseCmd = CONST_BasePath.'/nominatim/nominatim -i -d '.$aDSNInfo['database'].' -t '.$iInstances.$sOutputFile;
+ passthru($sBaseCmd.' -R 4');
+ pgsqlRunScript('ANALYSE');
+ passthru($sBaseCmd.' -r 5 -R 25');
+ pgsqlRunScript('ANALYSE');
+ passthru($sBaseCmd.' -r 26');
+ }
+
+ if ($aCMDResult['create-search-indices'] || $aCMDResult['all'])
+ {
+ echo "Search indices\n";
+ $bDidSomething = true;
+ $oDB =& getDB();
+ $sSQL = 'select partition from country_name order by country_code';
+ $aPartitions = $oDB->getCol($sSQL);
+ if (PEAR::isError($aPartitions))
+ {
+ fail($aPartitions->getMessage());
+ }
+ $aPartitions[] = 0;
+
+ $sTemplate = file_get_contents(CONST_BasePath.'/sql/indices.src.sql');
+ preg_match_all('#^-- start(.*?)^-- end#ms', $sTemplate, $aMatches, PREG_SET_ORDER);
+ foreach($aMatches as $aMatch)
+ {
+ $sResult = '';
+ foreach($aPartitions as $sPartitionName)
+ {
+ $sResult .= str_replace('-partition-', $sPartitionName, $aMatch[1]);
+ }
+ $sTemplate = str_replace($aMatch[0], $sResult, $sTemplate);
+ }
+
+ pgsqlRunScript($sTemplate);