Help Center > > Developer Guide> SQL Reference> SQL Syntax> CREATE TEXT SEARCH CONFIGURATION

CREATE TEXT SEARCH CONFIGURATION

Updated at: Jul 15, 2020 GMT+08:00

Function

CREATE TEXT SEARCH CONFIGURATION creates a text search configuration. A text search configuration specifies a text search parser that can divide a string into tokens, plus dictionaries that can be used to determine which tokens are of interest for searching.

Precautions

  • If only the parser is specified, then the new text search configuration initially has no mappings from token types to dictionaries, and therefore will ignore all words. Subsequent ALTER TEXT SEARCH CONFIGURATION commands must be used to create mappings to make the configuration useful. If COPY option is specified, the parser, mapping and configuration option of text search configuration is copied automatically.
  • If the schema name is given, the text search configuration will be created in the specified schema. Otherwise, the configuration is created in the current schema.
  • The user who defines a text search configuration becomes its owner.
  • PARSER and COPY options are mutually exclusive, because when an existing configuration is copied, its parser selection is copied too.
  • If only the parser is specified, then the new text search configuration initially has no mappings from token types to dictionaries, and therefore will ignore all words.

Syntax

1
2
3
CREATE TEXT SEARCH CONFIGURATION name 
    ( PARSER = parser_name | COPY = source_config )
    [ WITH ( {configuration_option = value} [, ...] )];

Parameter Description

  • name

    Specifies the name of the text search configuration to be created. Specifies the name can be schema-qualified.

  • parser_name

    Specifies the name of the text search parser to use for this configuration.

  • source_config

    Specifies the name of an existing text search configuration to copy.

  • configuration_option

    Specifies the configuration parameter of text search configuration is mainly for the parser executed by parser_name or contained by source_config.

    Value range: The default, ngram, and zhparser parsers are supported. The parser of default type has no corresponding configuration_option. Table 1 lists configuration_option for ngram and zhparser parsers.
    Table 1 Configuration parameters for ngram and zhparser parsers

    Parser

    Parameters for adding an account

    Description

    Value Range

    ngram

    gram_size

    Length of word segmentation

    Integer, 1 to 4

    Default value: 2

    punctuation_ignore

    Whether to ignore punctuations

    • true (default value): Ignore punctuations.
    • false: Do not ignore punctuations.

    grapsymbol_ignore

    Whether to ignore graphical characters

    • true: Ignore graphical characters.
    • false (default value): Do not ignore graphical characters.

    zhparser

    punctuation_ignore

    Whether to ignore special characters including punctuations (\r and \n will not be ignored) in the word segmentation result

    • true (default value): Ignore all the special characters including punctuations.
    • false: Do not ignore all the special characters including punctuations.

    seg_with_duality

    Whether to aggregate segments with duality

    • true: Aggregate segments with duality.
    • false (default value): Do not aggregate segments with duality.

    multi_short

    Whether to execute long words composite divide

    • true (default value): Execute long words composite divide.
    • false: Do not execute long words composite divide.

    multi_duality

    Whether to aggregate segments in long words with duality

    • true: Aggregate segments in long words with duality.
    • false (default value): Do not aggregate segments in long words with duality.

    multi_zmain

    Whether to display key single words individually

    • true: Display key single words individually.
    • false (default value): Do not display key single words individually.

    multi_zall

    Whether to display all single words individually.

    • true: Display all single words individually.
    • false (default value): Do not display all single words individually.

Examples

 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
-- Create a text search configuration:
CREATE TEXT SEARCH CONFIGURATION ngram2 (parser=ngram) WITH (gram_size = 2, grapsymbol_ignore = false);

-- Create a text search configuration:
CREATE TEXT SEARCH CONFIGURATION ngram3 (copy=ngram2) WITH (gram_size = 2, grapsymbol_ignore = false);

-- Add type mapping:
ALTER TEXT SEARCH CONFIGURATION ngram2 ADD MAPPING FOR multisymbol WITH simple;

-- Create user joe:
CREATE USER joe IDENTIFIED BY 'Bigdata123@';

-- Change the owner of text search configuration:
ALTER TEXT SEARCH CONFIGURATION ngram2 OWNER TO joe;

-- Modify the schema of text search configuration:
ALTER TEXT SEARCH CONFIGURATION ngram2 SET SCHEMA joe;

-- Rename a text search configuration:
ALTER TEXT SEARCH CONFIGURATION joe.ngram2 RENAME TO ngram_2;

-- Delete type mapping:
ALTER TEXT SEARCH CONFIGURATION joe.ngram_2 DROP MAPPING IF EXISTS FOR multisymbol;

-- Delete a text search configuration:
DROP TEXT SEARCH CONFIGURATION joe.ngram_2;
DROP TEXT SEARCH CONFIGURATION ngram3;

-- Delete the schema and user joe:
DROP SCHEMA IF EXISTS joe CASCADE;
DROP ROLE IF EXISTS joe;

Did you find this page helpful?

Submit successfully!

Thank you for your feedback. Your feedback helps make our documentation better.

Failed to submit the feedback. Please try again later.

Which of the following issues have you encountered?







Please complete at least one feedback item.

Content most length 200 character

Content is empty.

OK Cancel