我创建了这个自定义词典
CREATE TEXT SEARCH DICTIONARY public.simple_dict (
TEMPLATE = pg_catalog.simple,
STOPWORDS = dutch);
但是,删除了以下停用词:
SELECT ts_lexize('public.simple_dict','geen');
这个词否定下一个词,并且在意义方面至关重要。我们如何从停用词列表中删除这个词?
我创建了这个自定义词典
CREATE TEXT SEARCH DICTIONARY public.simple_dict (
TEMPLATE = pg_catalog.simple,
STOPWORDS = dutch);
但是,删除了以下停用词:
SELECT ts_lexize('public.simple_dict','geen');
这个词否定下一个词,并且在意义方面至关重要。我们如何从停用词列表中删除这个词?
您必须通过复制和删除有问题的单词tsearch_data
,在 PostgreSQL 安装的“share”目录的子目录中创建一个新的停用词文件。dutch.stop
如果调用了新的停用词文件,则dutch_new.stop
使用
CREATE TEXT SEARCH DICTIONARY dutch_new (
TEMPLATE = snowball,
LANGUAGE = 'dutch',
STOPWORDS = 'dutch_new'
);
然后使用字典创建一个新的文本搜索配置:
CREATE TEXT SEARCH CONFIGURATION dutch_new (COPY = dutch);
ALTER TEXT SEARCH CONFIGURATION dutch_new
ALTER MAPPING FOR
asciihword, asciiword, hword, hword_asciipart, hword_part, word
WITH dutch_new;