Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Use the pg_jieba extension

Última atualização: Oct 10, 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 do ApsaraDB RDS for PostgreSQL.

Pré-requisitos

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

  • A versão secundária do mecanismo da instância do RDS está atualizada se a versão principal atender aos requisitos, mas a extensão ainda não for suportada. Por exemplo, se a sua instância do RDS executa o PostgreSQL 17, a versão secundária do mecanismo deve ser 20241030 ou posterior. Para mais informações, consulte Update the minor engine version.

  • O pg_jieba está adicionado ao valor do parâmetro shared_preload_libraries da sua instância do RDS.

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

Métodos para usar a extensão pg_jieba

  • Crie a extensão pg_jieba.

    CREATE EXTENSION pg_jieba;
    Nota

    Apenas contas privilegiadas têm permissão para executar o comando acima.

  • Exclua a extensão pg_jieba.

    DROP EXTENSION pg_jieba;
    Nota

    Apenas contas privilegiadas têm permissã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

Visualize os recursos estendidos da extensão pg_jieba de acordo com a 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';

Recursos estendidos na versão 1.1.0

  • A extensão pg_jieba permite configurar vários 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 (offsets).

    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)

Recursos estendidos na versão 1.2.0

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

  • A função jieba_load_user_dict() recebeu um novo parâmetro para especificar se os dicionários personalizados serão usados durante a consulta.

    • Sintaxe

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

      Parâmetro

      Descrição

      parameter1

      Especifique o número de sequência do dicionário personalizado que deseja carregar.

      parameter2

      Especifique 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

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

      1. Para 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.