CREATE TEXT SEARCH CONFIGURATION
功能描述
创建新的文本搜索配置。文本搜索配置指定了文本搜索解析器,该文本搜索解析器可以将字符串划分为标记,外加一些词典(可被用来决定哪些标记是搜索感兴趣的)。
注意事项
- 如果仅指定了解析器,则新的文本搜索配置初始没有从标记类型到词典的映射, 因此会忽略所有的单词。后面必须使用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 |
文本搜索配置的配置参数,主要是针对parser_name执行的解析器,或者source_config隐含的解析器而言的。 |
目前共支持default、ngram、zhparser三种类型的解析器。
|
解析器 |
配置参数 |
参数描述 |
取值范围 |
---|---|---|---|
ngram |
gram_size |
分词长度。 |
正整数,1~4。 默认值:2。 |
punctuation_ignore |
是否忽略标点符号。 |
|
|
grapsymbol_ignore |
是否忽略图形化字符。 |
|
|
zhparser |
punctuation_ignore |
分词结果是否忽略所有的标点等特殊符号(不会忽略\r和\n)。 |
|
seg_with_duality |
是否将闲散文字自动以二字分词法聚合。 |
|
|
multi_short |
分词执行时是否执行针对长词复合切分。 |
|
|
multi_duality |
设定是否将长词内的文字自动以二字分词法聚合。 |
|
|
multi_zmain |
是否将重要单字单独显示。 |
|
|
multi_zall |
是否将全部单字单独显示。 |
|
示例
创建名为ngram1的文本搜索配置,使用ngram解析器。
1
|
CREATE TEXT SEARCH CONFIGURATION ngram1 (parser=ngram) WITH (gram_size = 2, grapsymbol_ignore = false); |
创建名为ngram2的文本搜索配置,复制现有配置ngram1的所有参数。
1
|
CREATE TEXT SEARCH CONFIGURATION ngram2 (copy=ngram1); |
创建名为english_1的文本搜索配置,使用默认文本解析器。
1
|
CREATE TEXT SEARCH CONFIGURATION english_1 (parser=default); |