Postgresql 如何在不重新启动postgres服务器的情况下刷新停止词列表?
我有自定义搜索配置和停止字。我需要做什么才能让postgres服务器看到停止词列表中的更改 upd 1 我在目录Postgresql 如何在不重新启动postgres服务器的情况下刷新停止词列表?,postgresql,full-text-search,Postgresql,Full Text Search,我有自定义搜索配置和停止字。我需要做什么才能让postgres服务器看到停止词列表中的更改 upd 1 我在目录pg10\share\postgresql\tsearch\u data中创建了文件russian\u extended.stop 然后我执行命令 创建文本搜索词典public.俄语_扩展( 模板=pg_catalog.simple, STOPWORDS=俄语扩展 ); 然后 CREATE TEXT SEARCH CONFIGURATION public.russian_extend
pg10\share\postgresql\tsearch\u data
中创建了文件russian\u extended.stop
然后我执行命令
创建文本搜索词典public.俄语_扩展(
模板=pg_catalog.simple,
STOPWORDS=俄语扩展
);
然后
CREATE TEXT SEARCH CONFIGURATION public.russian_extended (
COPY = pg_catalog.russian
);
最后呢
ALTER TEXT SEARCH CONFIGURATION public.russian_extended
ALTER MAPPING
FOR asciiword, asciihword, hword_asciipart, hword, hword_part, word
WITH russian_extended;
upd 2
之后,我在列表中添加了一个新词,我不知道如何在不重新启动我的postgres服务器的情况下动态应用这些更改…我错过了官方的解决方案,我的失败是我将函数
的列表结果放入了\u tsvector
ALTER TEXT SEARCH DICTIONARY public.俄语扩展版(StopWords=俄语扩展版);
根据我对源代码的阅读,文本搜索词典在第一次使用词典时或在缓存失效后初始化(函数查找词典缓存
)
因此,只要启动一个新的数据库会话,就会激活stopword文件中的更改
我没有核实是否是这样,你能测试一下吗
如果您有任何全文搜索索引,使用的是您更改了stopword文件的字典配置,则必须重建这些索引。使用stopword列表的字典是什么类型?@LaurenzAlbe我已完成问题是的,谢谢您的回答,我正在通过服务请求刷新我的搜索索引,它还提到
altertext搜索字典my_dict(dummy)代码>-重新读取配置,而无需重述字典的参数。