X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5c7b9ef909b3c30bbe640f4373a1127e15a7e018..aca6439eb7bc2cc6a6c2d7df0ebdb299c96c9c41:/lib-php/admin/warm.php diff --git a/lib-php/admin/warm.php b/lib-php/admin/warm.php index d7950af9..338ec2da 100644 --- a/lib-php/admin/warm.php +++ b/lib-php/admin/warm.php @@ -3,7 +3,6 @@ require_once(CONST_LibDir.'/init-cmd.php'); require_once(CONST_LibDir.'/log.php'); -require_once(CONST_LibDir.'/Geocode.php'); require_once(CONST_LibDir.'/PlaceLookup.php'); require_once(CONST_LibDir.'/ReverseGeocode.php'); @@ -26,16 +25,16 @@ loadSettings($aCMDResult['project-dir'] ?? getcwd()); @define('CONST_Default_Language', getSetting('DEFAULT_LANGUAGE', false)); @define('CONST_Log_DB', getSettingBool('LOG_DB')); @define('CONST_Log_File', getSetting('LOG_FILE', false)); -@define('CONST_Max_Word_Frequency', getSetting('MAX_WORD_FREQUENCY')); @define('CONST_NoAccessControl', getSettingBool('CORS_NOACCESSCONTROL')); @define('CONST_Places_Max_ID_count', getSetting('LOOKUP_MAX_COUNT')); @define('CONST_PolygonOutput_MaximumTypes', getSetting('POLYGON_OUTPUT_MAX_TYPES')); @define('CONST_Search_BatchMode', getSettingBool('SEARCH_BATCH_MODE')); @define('CONST_Search_NameOnlySearchFrequencyThreshold', getSetting('SEARCH_NAME_ONLY_THRESHOLD')); -@define('CONST_Term_Normalization_Rules', getSetting('TERM_NORMALIZATION')); @define('CONST_Use_US_Tiger_Data', getSettingBool('USE_US_TIGER_DATA')); @define('CONST_MapIcon_URL', getSetting('MAPICON_URL', false)); +@define('CONST_TokenizerDir', CONST_InstallDir.'/tokenizer'); +require_once(CONST_LibDir.'/Geocode.php'); $oDB = new Nominatim\DB(); $oDB->connect(); @@ -63,11 +62,15 @@ if (!$aResult['search-only']) { $oPlaceLookup->setLanguagePreference(array('en')); echo 'Warm reverse: '; - if ($bVerbose) echo "\n"; + if ($bVerbose) { + echo "\n"; + } for ($i = 0; $i < 1000; $i++) { $fLat = rand(-9000, 9000) / 100; $fLon = rand(-18000, 18000) / 100; - if ($bVerbose) echo "$fLat, $fLon = "; + if ($bVerbose) { + echo "$fLat, $fLon = "; + } $oLookup = $oReverseGeocode->lookup($fLat, $fLon); $aSearchResults = $oLookup ? $oPlaceLookup->lookup(array($oLookup->iId => $oLookup)) : null; @@ -80,10 +83,19 @@ if (!$aResult['reverse-only']) { $oGeocode = new Nominatim\Geocode($oDB); echo 'Warm search: '; - if ($bVerbose) echo "\n"; + if ($bVerbose) { + echo "\n"; + } + + $oTokenizer = new \Nominatim\Tokenizer($oDB); + + $aWords = $oTokenizer->mostFrequentWords(1000); + $sSQL = 'SELECT word FROM word WHERE word is not null ORDER BY search_name_count DESC LIMIT 1000'; - foreach ($oDB->getCol($sSQL) as $sWord) { - if ($bVerbose) echo "$sWord = "; + foreach ($aWords as $sWord) { + if ($bVerbose) { + echo "$sWord = "; + } $oGeocode->setLanguagePreference(array('en')); $oGeocode->setQuery($sWord);