2

我为此配置创建了自定义配置和同义词。
这是我的synonym_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;

现在,当我创建向量时,它不会为单词创建词法gates

postgres=# select to_tsvector('icons','door doors gate gates');
      to_tsvector
-----------------------
 'door':1,2,3 'gate':4
(1 row)

如您所见,它改变了单词doordoorsand gate,但不是gates。相反,雪球算法工作gates并创建了 lexem gate
如何强制 postgresql 传递同义词扔雪球算法的结果。我知道,同义词词典优先于雪球。作为一种解决方法,我可以将gate单词的所有修改添加到synonym_custom.syn中,但我有 3,500 个具有类似同义词的单词。因此,就我而言,这不是解决方案。

4

0 回答 0