我正在尝试在 PostgreSQL 8.3 中进行全文搜索。它工作得非常好,所以我添加了同义词匹配(例如'bob' == 'robert'
)使用同义词词典。这也很好用。
然而,我注意到它显然只允许一个词有one代名词。那是,al
不可能是albert
or 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
它应该给出相同的最终结果,即对其中任何一个的搜索都会匹配相同的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)