↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
历史版本。 PostgreSQL 8.3 已结束支持。 请参阅 当前版本手册.

F.7. dict_xsyn — 示例同义词全文检索词典 #

dict_xsyn(扩展同义词词典)是全文检索的一个附加词典模板示例。这种词典类型会将词替换为其同义词组,因此可以使用某个词的任一同义词来搜索该词。

F.7.1. 配置

该dict_xsyn词典接受以下选项:

  • keeporig控制是否包含原词(若为true),还是只包含其同义词(若为false)。默认为true。

  • rules是包含同义词列表的文件的基本名。该文件必须存放在$SHAREDIR/tsearch_data/(其中$SHAREDIR表示PostgreSQL安装的共享数据目录)中。文件名必须以.rules结尾(这一后缀不应写入rules参数)。

规则文件具有下列格式:

  • 每一行表示某个单词的一组同义词,且该单词位于行首。同义词之间用空白分隔,例如:

    word syn1 syn2 syn3

  • 井号(#)是注释分隔符。它可以出现在一行中的任意位置,该行余下的内容都会被跳过。

示例可参见安装在$SHAREDIR/tsearch_data/中的 xsyn_sample.rules。

F.7.2. 用法

运行安装脚本会创建一个文本搜索模板xsyn_template以及一个基于它、使用默认参数的词典xsyn。你可以修改参数,例如

mydb# ALTER TEXT SEARCH DICTIONARY xsyn (RULES='my_rules', KEEPORIG=false);
ALTER TEXT SEARCH DICTIONARY

或者基于该模板创建新词典。

要测试该词典,可以尝试:

mydb=# SELECT ts_lexize('xsyn', 'word');
      ts_lexize
-----------------------
 {word,syn1,syn2,syn3}

但实际使用通常需要把它纳入第 12 章中描述的全文检索配置。可能会像这样:

ALTER TEXT SEARCH CONFIGURATION english
    ALTER MAPPING FOR word, asciiword WITH xsyn, english_stem;

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.