更新时间:2026-10-21 GMT+08:00
分享

ALTER TEXT SEARCH DICTIONARY

该功能为内部使用功能,不建议用户使用。

功能描述

ALTER TEXT SEARCH DICTIONARY语句用于修改全文检索词典的相关定义,包括参数、名称、所有者和模式等。

注意事项

  • 预定义词典不支持ALTER操作。
  • 只有词典的所有者可以执行ALTER操作,当三权分立开关关闭时,系统管理员默认拥有此权限。
  • 创建或修改词典之后,任何对于filepath路径下用户自定义的词典定义文件的修改,将不会影响到数据库中的词典。如果需要在数据库中使用这些修改,需使用ALTER TEXT SEARCH DICTIONARY语句更新对应词典的定义文件。
  • 在使用全文检索功能时,文本检索函数的返回结果会受到全文检索词典配置的直接影响,当对全文检索词典配置进行修改后,由于已缓存的查询计划不会立即更新,再次调用函数进行查询时可能会导致函数返回结果未同步更新,请进行清空计划缓存操作。如,相关函数存在于参数化绑定执行(PBE)场景或启用自动参数化等含有计划缓存的场景。

语法格式

  • 修改词典定义。
    ALTER TEXT SEARCH DICTIONARY name (
        { option [ = value ] } [, ... ]
    );

  • 重命名词典。
    1
    ALTER TEXT SEARCH DICTIONARY name RENAME TO new_name;
    

  • 设置词典的所属模式。
    1
    ALTER TEXT SEARCH DICTIONARY name SET SCHEMA new_schema;
    

  • 修改词典的所有者。
    1
    ALTER TEXT SEARCH DICTIONARY name OWNER TO new_owner;
    

参数说明

  • name

    已存在的词典名(可指定模式名,否则默认在当前模式下)。

    取值范围:已存在的词典名。

  • option

    要修改的参数名。与template对应,不同的词典类型具有不同的参数列表,且与指定顺序无关。详细介绍请参见CREATE TEXT SEARCH DICTIONARY章节的option。

    • 不支持修改词典的TEMPLATE参数值。
    • 不支持仅修改FILEPATH参数而不修改对应的词典定义文件参数。
    • 词典定义文件的文件名仅支持小写字母、数据、下划线混合。
  • value

    要修改的参数值。如果省略等号(=)和value,则表示删除该option的先前设置,使用默认值。

    取值范围:对应option定义。

  • new_name

    词典的新名称。

    取值范围:符合标识符命名规范的字符串,且最大长度不超过63个字符。

  • new_owner

    词典新的所有者。

    取值范围:已存在的用户。

  • new_schema

    词典的新模式。

    取值范围:已存在的模式。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
--创建字典my_dict。
gaussdb=# CREATE TEXT SEARCH DICTIONARY my_dict ( TEMPLATE = Simple );

--创建字典my_dict1。
gaussdb=# CREATE TEXT SEARCH DICTIONARY my_dict1 ( TEMPLATE = Simple );

--重命名词典my_dict1为my_dict2。
gaussdb=# ALTER TEXT SEARCH DICTIONARY my_dict1 RENAME TO my_dict2;

--更改Simple类型字典,将非停用词设置为已识别,其他参数保持不变。
gaussdb=# ALTER TEXT SEARCH DICTIONARY my_dict ( Accept = true );

--更改Simple类型字典,重置Accept参数。
gaussdb=# ALTER TEXT SEARCH DICTIONARY my_dict ( Accept );

--更新词典定义,不实际更改任何内容。
gaussdb=# ALTER TEXT SEARCH DICTIONARY my_dict ( dummy );

--删除字典。
gaussdb=# DROP TEXT SEARCH DICTIONARY my_dict;
gaussdb=# DROP TEXT SEARCH DICTIONARY my_dict2;

相关文档