我具有带有停用词的自定义搜索配置。我需要做些什么才能使postgres服务器看到停用词列表中的更改?
更新1
我在目录source
中创建了文件russian_extended.stop
。
然后我执行了命令
pg10\share\postgresql\tsearch_data
然后
CREATE TEXT SEARCH DICTIONARY public.russian_extended (
TEMPLATE = pg_catalog.simple,
STOPWORDS = russian_extended
);
最后
CREATE TEXT SEARCH CONFIGURATION public.russian_extended (
COPY = pg_catalog.russian
);
更新2
此后,我在列表中添加了一个新单词,而且我不明白如何在不重新启动postgres服务器的情况下即时应用此更改...
答案 0 :(得分:0)
我错过了官方documentation中的解决方案,我的失败是我将函数to_tsvector
放入列表结果
ALTER TEXT SEARCH DICTIONARY public.russian_extended (StopWords=russian_extended);
答案 1 :(得分:0)
根据我的阅读来源,每当首次使用该词典或在缓存失效之后(功能lookup_ts_dictionary_cache
),都会初始化一个文本搜索词典。
因此,仅启动一个新的数据库会话应使停用词文件中的更改处于活动状态。
我没有验证是否可以,可以测试吗?
如果使用带有字典的配置的全文检索索引,在其中更改了停用词文件,则必须重建这些索引。