更新时间:2025-09-08 GMT+08:00
CREATE TEXT SEARCH DICTIONARY
功能描述
创建一个新的全文检索词典。全文检索词典指定在全文检索时识别特定词并处理的方法。
词典的创建依赖于预定义模板(在系统表PG_TS_TEMPLATE中定义),支持创建五种类型的词典,分别是Simple、Ispell、Synonym、Thesaurus、以及Snowball,每种类型的词典可以完成不同的任务。
注意事项
- 具有SYSADMIN权限的用户可以执行创建词典操作,创建该词典的用户自动成为其所有者。
- 临时模式(pg_temp)下不允许创建词典。
- 创建或修改词典之后,任何对于用户自定义的词典定义文件的修改,将不会影响到数据库中的词典。如果需要在数据库中使用这些修改,需使用ALTER语句更新对应词典的定义文件。
- 不支持修改词典的TEMPLATE参数值。
- 不支持仅修改FILEPATH参数而不修改对应的词典定义文件参数。
- 词典定义文件的文件名仅支持小写字母、数据、下划线混合。
- 预定义词典文件位于$GAUSSHOME/share/postgresql/tsearch_data目录下。
语法格式
1 2 3 4 |
CREATE TEXT SEARCH DICTIONARY name ( TEMPLATE = template [, option = value [, ... ]] ); |
参数说明
参数 |
描述 |
取值范围 |
---|---|---|
name |
要创建的全文检索词典的名称,可以用模式修饰。 |
字符串,需符合标识符命名规范。 |
template |
模板名。 |
系统表PG_TS_TEMPLATE中定义的模板:Simple/Synonym/Thesaurus/Ispell/Snowball。 |
option |
全文检索词典特定选项的参数名称。与template对应,不同的词典类型具有不同的参数列表,且与指定顺序无关。 |
详细参数说明参见表2。 |
value |
参数值。如果不是简单的标识符或数字,则参数值必须加单引号(标识符和数字同样可以加上单引号)。 |
- |
示例
创建一个Ispell词典类型的词典english_ispell(词典定义文件来自开源词典)。
1 2 3 4 5 6 7 |
CREATE TEXT SEARCH DICTIONARY english_ispell ( TEMPLATE = ispell, DictFile = english, AffFile = english, StopWords = english, FilePath = 'obs://bucket_name/path accesskey=ak secretkey=sk region=rg' ); |
请参见配置示例一节的示例。