# ALTER TEXT SEARCH DICTIONARY
![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
该功能为内部使用功能，不建议用户使用。
#### 功能描述
ALTER TEXT SEARCH DICTIONARY语句用于修改全文检索词典的相关定义，包括参数、名称、所有者和模式等。
#### 注意事项
- 预定义词典不支持ALTER操作。
- 只有词典的所有者可以执行ALTER操作，当三权分立开关关闭时，系统管理员默认拥有此权限。
- 创建或修改词典之后，任何对于filepath路径下用户自定义的词典定义文件的修改，将不会影响到数据库中的词典。如果需要在数据库中使用这些修改，需使用ALTER TEXT SEARCH DICTIONARY语句更新对应词典的定义文件。
- 在使用全文检索功能时，文本检索函数的返回结果会受到全文检索词典配置的直接影响，当对全文检索词典配置进行修改后，由于已缓存的查询计划不会立即更新，再次调用函数进行查询时可能会导致函数返回结果未同步更新，请进行清空计划缓存操作。如，相关函数存在于参数化绑定执行（PBE）场景或启用自动参数化等含有计划缓存的场景。
 
#### 语法格式
- 修改词典定义。
  ```
  ALTER TEXT SEARCH DICTIONARY name (
      { option [ = value ] } [, ... ]
  );
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002793788393.png "点击放大")
  

- 重命名词典。
  ```
  ALTER TEXT SEARCH DICTIONARY name RENAME TO new_name;
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002764469584.png "点击放大")
  
- 设置词典的所属模式。
  ```
  ALTER TEXT SEARCH DICTIONARY name SET SCHEMA new_schema;
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002764309654.png "点击放大")
  
- 修改词典的所有者。
  ```
  ALTER TEXT SEARCH DICTIONARY name OWNER TO new_owner;
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002793708199.png "点击放大")
  
 
#### 参数说明
- **name**
  已存在的词典名（可指定模式名，否则默认在当前模式下）。
  取值范围：已存在的词典名。
  
- **option**
  要修改的参数名。与template对应，不同的词典类型具有不同的参数列表，且与指定顺序无关。详细介绍请参见[CREATE TEXT SEARCH DICTIONARY](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0278.html)章节的[option](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0278.html#ZH-CN_TOPIC_0000002764308678__li1286812455448)。
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 不支持修改词典的TEMPLATE参数值。
  
  - 不支持仅修改FILEPATH参数而不修改对应的词典定义文件参数。
  
  - 词典定义文件的文件名仅支持小写字母、数据、下划线混合。
    
- **value**
  要修改的参数值。如果省略等号（=）和value，则表示删除该option的先前设置，使用默认值。
  取值范围：对应option定义。
  
- **new_name**
  词典的新名称。
  取值范围：符合标识符命名规范的字符串，且最大长度不超过63个字符。
  
- **new_owner**
  词典新的所有者。
  取值范围：已存在的用户。
  
- **new_schema**
  词典的新模式。
  取值范围：已存在的模式。
  
 
#### 示例
```
--创建字典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;
```
