mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-10 12:04:06 +00:00
add function to recalculate counts for full-word search term
This commit is contained in:
11
sql/words_from_search_name.sql
Normal file
11
sql/words_from_search_name.sql
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
DROP TABLE IF EXISTS word_frequencies;
|
||||||
|
CREATE TABLE word_frequencies AS
|
||||||
|
SELECT unnest(name_vector) as id, count(*) FROM search_name GROUP BY id;
|
||||||
|
|
||||||
|
CREATE INDEX idx_word_frequencies ON word_frequencies(id);
|
||||||
|
|
||||||
|
UPDATE word SET search_name_count = count
|
||||||
|
FROM word_frequencies
|
||||||
|
WHERE word_token like ' %' and word_id = id;
|
||||||
|
|
||||||
|
DROP TABLE word_frequencies;
|
||||||
@@ -33,6 +33,7 @@ $aCMDOptions
|
|||||||
array('index-instances', '', 0, 1, 1, 1, 'int', 'Number of indexing instances (threads)'),
|
array('index-instances', '', 0, 1, 1, 1, 'int', 'Number of indexing instances (threads)'),
|
||||||
|
|
||||||
array('deduplicate', '', 0, 1, 0, 0, 'bool', 'Deduplicate tokens'),
|
array('deduplicate', '', 0, 1, 0, 0, 'bool', 'Deduplicate tokens'),
|
||||||
|
array('recompute-word-counts', '', 0, 1, 0, 0, 'bool', 'Compute frequency of full-word search terms'),
|
||||||
array('no-npi', '', 0, 1, 0, 0, 'bool', '(obsolete)'),
|
array('no-npi', '', 0, 1, 0, 0, 'bool', '(obsolete)'),
|
||||||
);
|
);
|
||||||
getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
|
getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
|
||||||
@@ -237,6 +238,12 @@ if ($aResult['deduplicate']) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($aResult['recompute-word-counts']) {
|
||||||
|
info('Recompute frequency of full-word search terms');
|
||||||
|
$sTemplate = file_get_contents(CONST_BasePath.'/sql/words_from_search_name.sql');
|
||||||
|
runSQLScript($sTemplate, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
if ($aResult['index']) {
|
if ($aResult['index']) {
|
||||||
passthru(CONST_InstallPath.'/nominatim/nominatim -i -d '.$aDSNInfo['database'].' -P '.$aDSNInfo['port'].' -t '.$aResult['index-instances'].' -r '.$aResult['index-rank']);
|
passthru(CONST_InstallPath.'/nominatim/nominatim -i -d '.$aDSNInfo['database'].' -P '.$aDSNInfo['port'].' -t '.$aResult['index-instances'].' -r '.$aResult['index-rank']);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user