Rya*_*rth 5 sql postgresql dictionary full-text-search
我正在尝试在 PostgreSQL 8.3 中进行全文搜索。它工作得非常好,所以我使用同义词词典添加了同义词匹配(例如'bob' == 'robert')。这也很好用。但我注意到它显然只允许一个词有一个同义词。也就是说,“al”不能是“albert”和“allen”。
这样对吗?有没有办法在 PostgreSQL 同义词词典中有多个词典匹配?
作为参考,这是我的示例字典文件:
bob robert
bobby robert
al alan
al albert
al allen
Run Code Online (Sandbox Code Playgroud)
以及创建全文搜索配置的 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;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢!
这是同义词工作方式的限制。你可以做的是扭转它,如:
bob robert
bobby robert
alan al
albert al
allen al
Run Code Online (Sandbox Code Playgroud)
它应该给出相同的最终结果,即搜索其中任何一个都将匹配相同的内容。
| 归档时间: |
|
| 查看次数: |
2849 次 |
| 最近记录: |