PostgreSQL showball算法不适用于同义词
我创建了自定义配置和此配置的同义词。PostgreSQL showball算法不适用于同义词,postgresql,full-text-search,config,synonym,snowball,Postgresql,Full Text Search,Config,Synonym,Snowball,我创建了自定义配置和此配置的同义词。 这是我的synonym\u custom.syn文件内容 gate door 以下是创建脚本: CREATE TEXT SEARCH CONFIGURATION icons (copy='english'); CREATE TEXT SEARCH DICTIONARY my_synonym ( TEMPLATE = synonym, SYNONYMS = synonym_custom ); ALTER TEXT SEARCH CO
这是我的
synonym\u custom.syn
文件内容
gate door
以下是创建脚本:
CREATE TEXT SEARCH CONFIGURATION icons (copy='english');
CREATE TEXT SEARCH DICTIONARY my_synonym (
TEMPLATE = synonym,
SYNONYMS = synonym_custom
);
ALTER TEXT SEARCH CONFIGURATION icons
ALTER MAPPING FOR asciiword, asciihword, hword_asciipart,
word, hword, hword_part
WITH my_synonym, english_stem;
现在,当我创建vector时,它不会为单词gates
postgres=# select to_tsvector('icons','door doors gate gates');
to_tsvector
-----------------------
'door':1,2,3 'gate':4
(1 row)
如您所见,它会更改单词门
、门
和门
,但不会更改门
。取而代之的是,雪球算法在门
上工作,并创建了lexem门
如何强制postgresql传递同义词扔雪球算法的结果。我知道,那本同义词词典比雪球更重要。作为一种解决方法,我可以将
gate
单词的所有修改添加到synonym\u custom.syn
中,但我有3500个单词与类似的同义词。所以对我来说这不是一个解决方案