ALTER TEXT SEARCH CONFIGURATION

    ADD MAPPING FOR选项为文本搜索配置增加字串类型映射;如果ADD MAPPING FOR后面任何一个字串类型的映射已经存在于此文本搜索配置中,那么系统将会报错。

    ALTER MAPPING FOR选项会首先清除已有的字串类型映射,然后添加指定的字串类型映射。

    ALTER MAPPING REPLACE … WITH … 与ALTER MAPPING FOR … REPLACE … WITH …选项会直接使用new_dictionary替换old_dictionary。需要注意的是,只有pg_ts_config_map系统表中存在maptokentype与old_dictionary对应关系的元组时,才能更新成功,否则不会成功,也不会有任何提示信息返回。

    DROP MAPPING FOR选项会删除当前文本搜索配置中指定的字串类型映射。 如果没有指定IF EXISTS选项,当DROP MAPPING FOR选项指定的字串类型映射在文本搜索配置中不存在时,数据库会报错。

    注意事项

    • 当一个搜索配置已经被引用(如被用来创建索引),则不允许用户修改此文本搜索配置。
    • 要使用ALTER TEXT SEARCH CONFIGURATION,用户必须是配置的所有者。
    • 增加文本搜索配置字串类型映射语法
    • 修改文本搜索配置字典语法
    1. ALTER MAPPING FOR token_type [, ... ] REPLACE old_dictionary WITH new_dictionary;
    • 修改文本搜索配置字串类型语法
    1. ALTER TEXT SEARCH CONFIGURATION name
    2. ALTER MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ];
    • 更改文本搜索配置字典语法
    • 删除文本搜索配置字串类型映射语法
    1. ALTER TEXT SEARCH CONFIGURATION name
    2. DROP MAPPING [ IF EXISTS ] FOR token_type [, ... ];
    • 重命名文本搜索配置所有者语法
    1. ALTER TEXT SEARCH CONFIGURATION name OWNER TO new_owner;
    • 重命名文本搜索配置名称语法
    • 重命名文本搜索配置命名空间语法
      • 修改文本搜索配置属性语法
      1. ALTER TEXT SEARCH CONFIGURATION name SET ( { configuration_option = value } [, ...] );
      • 重置文本搜索配置属性语法

      参数说明

      • name

        已有文本搜索配置的名称(可以有模式修饰)。

      • token_type

        与配置的语法解析器关联的字串类型的名称。详细信息参见。

      • 文本搜索字典名称。 如果有多个字典,则它们会按指定的顺序搜索。

      • old_dictionary

        映身中拟被替换的文本搜索字典名称。

      • new_dictionary

        替换old_dictionary的文本搜索字典的名称。

      • new_owner

        文本搜索配置的新所有者。

      • new_name

      • new_schema

        文本搜索配置的新模式名。

      • configuration_option

        文本搜索配置项。详细信息参见CREATE TEXT SEARCH CONFIGURATION

      • value

        文本搜索配置项的值。

      1. --创建文本搜索配置。
      2. openGauss=# CREATE TEXT SEARCH CONFIGURATION english_1 (parser=default);
      3. CREATE TEXT SEARCH CONFIGURATION
      4. --增加文本搜索配置字串类型映射语法。
      5. ALTER TEXT SEARCH CONFIGURATION
      6. --增加文本搜索配置字串类型映射语法。
      7. openGauss=# ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR email WITH english_stem, french_stem;
      8. --查询文本搜索配置相关信息。
      9. openGauss=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5;
      10. cfgname | maptokentype | mapseqno | mapdict | dictname
      11. -----------+--------------+----------+---------+--------------
      12. english_1 | 2 | 1 | 3765 | simple
      13. english_1 | 2 | 2 | 12960 | english_stem
      14. english_1 | 4 | 1 | 12960 | english_stem
      15. (4 rows)
      16. --增加文本搜索配置字串类型映射语法。
      17. openGauss=# ALTER TEXT SEARCH CONFIGURATION english_1 ALTER MAPPING REPLACE french_stem with german_stem;
      18. ALTER TEXT SEARCH CONFIGURATION
      19. --查询文本搜索配置相关信息。
      20. openGauss=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5;
      21. cfgname | maptokentype | mapseqno | mapdict | dictname
      22. -----------+--------------+----------+---------+--------------
      23. english_1 | 2 | 1 | 3765 | simple
      24. english_1 | 2 | 2 | 12960 | english_stem
      25. english_1 | 4 | 1 | 12960 | english_stem

      请参见CREATE TEXT SEARCH CONFIGURATION的。

      相关链接

      CREATE TEXT SEARCH CONFIGURATION