更新时间:2026-10-21 GMT+08:00
CREATE TEXT SEARCH CONFIGURATION
功能描述
创建自定义的文本搜索配置。一个文本搜索配置指定一个文本搜索解析器以及对应的词典列表。
该功能为内部使用功能,不建议用户直接使用。
注意事项
- 如果仅声明PARSER,那么新创建的文本搜索配置没有从字符串类型到词典的映射, 须调用ALTER TEXT SEARCH CONFIGURATION命令创建词典映射使配置生效。如果声明了COPY选项,会自动复制指定的文本搜索配置的解析器、映射、配置选项等信息。
- 若指定模式名称,文本搜索配置会在指定的模式中创建,否则会在当前模式中创建。
- 创建自定义文本搜索配置的用户将自动成为其所有者。
- PARSER和COPY选项互相排斥,因为当一个现有的文本搜索配置被复制,其文本搜索解析器也会被复制。
语法格式
1 2 3 | CREATE TEXT SEARCH CONFIGURATION name ( {PARSER = parser_name | COPY = source_config} ) [ WITH ( {configuration_option = value} [, ...] )]; |
参数说明
- name
创建的文本搜索配置的名称。可以使用模式进行具体指定。
- parser_name
用于该文本搜索配置的文本搜索解析器的名称。
- source_config
要复制的现有文本搜索配置的名称。
- configuration_option
文本搜索配置的配置参数。
取值范围:目前支持default、ngram两种类型的解析器,具体配置参数configuration_option如表1所示。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | --创建文本搜索配置ngram2。 gaussdb=# CREATE TEXT SEARCH CONFIGURATION ngram2 (PARSER=ngram) WITH (GRAM_SIZE = 2, GRAPSYMBOL_IGNORE = false); --创建文本搜索配置ngram3。 gaussdb=# CREATE TEXT SEARCH CONFIGURATION ngram3 (COPY=ngram2) WITH (GRAM_SIZE = 2, GRAPSYMBOL_IGNORE = false); --添加类型映射。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION ngram2 ADD MAPPING FOR multisymbol WITH simple; --创建用户joe。 gaussdb=# CREATE USER joe IDENTIFIED BY '********'; --修改文本搜索配置的所有者。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION ngram2 OWNER TO joe; --修改文本搜索配置的schema。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION ngram2 SET SCHEMA joe; --重命名文本搜索配置。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION joe.ngram2 RENAME TO ngram_2; --删除类型映射。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION joe.ngram_2 DROP MAPPING IF EXISTS FOR multisymbol; --删除文本搜索配置。 gaussdb=# DROP TEXT SEARCH CONFIGURATION joe.ngram_2; gaussdb=# DROP TEXT SEARCH CONFIGURATION ngram3; --删除Schema及用户joe。 gaussdb=# DROP SCHEMA IF EXISTS joe CASCADE; gaussdb=# DROP ROLE IF EXISTS joe; |
父主题: C