Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Use the pg_jieba extension

Última atualização: Jun 26, 2026

Este tópico descreve como usar a extensão pg_jieba para executar pesquisas de texto completo em chinês em uma instância ApsaraDB RDS for PostgreSQL.

Pré-requisitos

  • Sua instância RDS executa PostgreSQL 10.0 ou uma versão posterior.

  • Atualize a versão secundária do mecanismo da instância RDS caso a versão principal atenda aos requisitos, mas a extensão ainda não seja compatível. Por exemplo, se sua instância RDS executa PostgreSQL 17, a versão secundária do mecanismo deve ser 20241030 ou posterior. Para obter mais informações, consulte Update the minor engine version.

  • Adicione pg_jieba ao valor do parâmetro shared_preload_libraries da sua instância RDS.

    Para obter mais informações sobre como adicionar pg_jieba ao valor do parâmetro shared_preload_libraries, consulte Configure instance parameters.

Métodos para usar a extensão pg_jieba

  • Crie a extensão pg_jieba.

    CREATE EXTENSION pg_jieba;
    Nota

    Somente contas privilegiadas têm autorização para executar o comando acima.

  • Exclua a extensão pg_jieba.

    DROP EXTENSION pg_jieba;
    Nota

    Somente contas privilegiadas têm autorização para executar o comando acima.

  • Exemplo 1:

    SELECT * FROM to_tsvector('jiebacfg', '小明硕士毕业于中国科学院计算所,后在日本京都大学深造');
                                                     to_tsvector
    --------------------------------------------------------------------------------------------------------------
     '中国科学院':5 '于':4 '后':8 '在':9 '小明':1 '日本京都大学':10 '毕业':3 '深造':11 '硕士':2 '计算所':6 ',':7
    (1 row)
  • Exemplo 2:

    SELECT * FROM to_tsvector('jiebacfg', '李小福是创新办主任也是云计算方面的专家');
                                            to_tsvector
    -------------------------------------------------------------------------------------------
     '专家':11 '主任':5 '也':6 '云计算':8 '创新':3 '办':4 '方面':9 '是':2,7 '李小福':1 '的':10
    (1 row)

Recursos estendidos

Consulte os recursos estendidos da extensão pg_jieba com base na versão instalada.

Execute a seguinte instrução SQL para consultar a versão da extensão pg_jieba:

SELECT * FROM pg_available_extensions WHERE name='pg_jieba';

Extended features in version 1.1.0

  • A extensão pg_jieba permite configurar múltiplos dicionários personalizados e alternar entre eles.

    -- Insert data into the first custom dictionary. By default, data is inserted into the first custom dictionary. The first custom dictionary is represented by 0. The weight value of the first custom dictionary is 10.
    INSERT INTO jieba_user_dict VALUES ('阿里云');
    
    INSERT INTO jieba_user_dict VALUES ('研发工程师',0,10);
    
    -- Use the dictionary predefined in the pg_jieba extension to segment Chinese text.
    SELECT * FROM to_tsvector('jiebacfg', 'zth是阿里云的一个研发工程师');
    to_tsvector
    ------------------------------------------------------
    'zth':1 '一个':6 '云':4 '工程师':8 '研发':7 '阿里':3
    (1 row)
    
    -- Switch to the first custom dictionary. The jieba_load_user_dict() parameter specifies the sequence number of the custom dictionary.
    SELECT jieba_load_user_dict(0);
    jieba_load_user_dict
    ----------------------
    
    (1 row)
    
    SELECT * FROM to_tsvector('jiebacfg', 'zth是阿里云的一个研发工程师');
    to_tsvector
    --------------------------------------------
    'zth':1 '一个':5 '研发工程师':6 '阿里云':3
    (1 row)
  • A extensão pg_jieba permite visualizar os resultados da segmentação de texto com base em deslocamentos.

    SELECT * FROM to_tsvector('jiebacfg_pos', 'zth是阿里云的一个研发工程师');
                                         to_tsvector
    --------------------------------------------------------------------------------------
     'zth:0':1 '一个:8':6 '云:6':4 '工程师:12':8 '是:3':2 '的:7':5 '研发:10':7 '阿里:4':3'zth:0':1 ' One: 8':6 ' Cloud: 6':4 ' Engineer: 12':8 ' Yes: 3':2':7':5 ' R&D: 10':7 ' Ali: 4':3
    (1 row)

Extended features in version 1.2.0

  • A função jieba_load_user_dict() foi otimizada para reduzir o uso de CPU e de memória.

  • Um novo parâmetro foi adicionado à função jieba_load_user_dict() para especificar se os dicionários personalizados devem ser usados durante a recuperação.

    • Sintaxe

      jieba_load_user_dict(parameter1, parameter2)
    • Descrição dos parâmetros

      Parâmetro

      Descrição

      parameter1

      Especifica o número de sequência do dicionário personalizado a ser carregado.

      parameter2

      Especifica se o dicionário padrão deve ser carregado.

      • 0: carrega o dicionário padrão.

      • 1: não carrega o dicionário padrão.

    • Exemplos

      INSERT INTO jieba_user_dict VALUES ('阿里云');
      INSERT 0 1
      INSERT INTO jieba_user_dict VALUES ('研发工程师',0,10);
      INSERT 0 1
      
      -- The first 0 indicates the sequence number of the custom dictionary, and the second 0 indicates that the default dictionary is loaded.
      SELECT jieba_load_user_dict(0,0);
      jieba_load_user_dict
      ----------------------
      
      (1 row)
      SELECT * FROM to_tsvector('jiebacfg', 'zth是阿里云的一个研发工程师');
      to_tsvector
      --------------------------------------------
      'zth':1 '一个':5 '研发工程师':6 '阿里云':3
      (1 row)
      
      SELECT jieba_load_user_dict(0,1);
      jieba_load_user_dict
      ----------------------
      
      (1 row)
      
      SELECT * FROM to_tsvector('jiebacfg', 'zth是阿里云的一个研发工程师');
                           to_tsvector
      ------------------------------------------------------
      'zth':1 '一个':6 '云':4 '工程师':8 '研发':7 '阿里':3
      (1 row)
      Nota

      Se a tabela jieba_user_dict ou a função jieba_load_user_dict() não existir, atualize a versão secundária do mecanismo da instância RDS para 20220730 e reinstale a extensão.

      1. Para obter mais informações sobre como atualizar a versão secundária do mecanismo, consulte Update the minor engine version of an ApsaraDB RDS for PostgreSQL instance.

      2. Execute as seguintes instruções para reinstalar a extensão:

        DROP EXTENSION pg_jieba;
        CREATE EXTENSION pg_jieba;

Referências

Para obter mais informações sobre como usar a extensão pg_jieba, consulte a documentação oficial do pg_jieba.