全文搜索中的多个同义词词典匹配 [英] Multiple synonym dictionary matches in full-text searching
本文介绍了全文搜索中的多个同义词词典匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在PostgreSQL8.3中执行全文搜索。它工作得非常好,所以我使用同义词词典添加了同义词匹配(例如'bob' == 'robert'
)。这也很管用。
但是,我注意到它显然只允许一个单词有一个同义词。也就是说,al
不能为albert
或allen
。
这样对吗?有没有办法在PostgreSQL同义词词典中有多个词典匹配项?
作为参考,下面是我的示例字典文件:
bob robert
bobby robert
al alan
al albert
al allen
和创建全文搜索配置的SQL:
CREATE TEXT SEARCH DICTIONARY nickname (TEMPLATE = synonym, SYNONYMS = nickname);
CREATE TEXT SEARCH CONFIGURATION dxp_name (COPY = simple);
ALTER TEXT SEARCH CONFIGURATION dxp_name ALTER MAPPING FOR asciiword WITH nickname, simple;
推荐答案
这是同义词工作方式的限制。您可以做的是将其转过来,如下所示:
bob robert
bobby robert
alan al
albert al
allen al
它应该产生相同的最终结果,即搜索这两个结果中的任何一个都将匹配相同的内容。
这篇关于全文搜索中的多个同义词词典匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文