Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Use the ZomboDB extension

Última atualização: Jun 26, 2026

ZomboDB integra os recursos de pesquisa de texto completo e análise do Elasticsearch diretamente ao PostgreSQL. Ele oferece um conjunto completo de linguagens de consulta para dados relacionais, assume o controle de índices remotos do Elasticsearch e garante a consistência transacional dos resultados de pesquisa de texto — permitindo executar consultas com Elasticsearch via SQL padrão, sem precisar lidar com problemas de sincronização ou comunicação.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Uma instância RDS executando PostgreSQL 11 com versão secundária do mecanismo 20230830 ou posterior

Importante

Este plugin era compatível com versões secundárias anteriores à 20230830. No entanto, para padronizar o gerenciamento de plugins e aprimorar a segurança, o RDS planeja otimizar plugins com riscos de segurança nas iterações de versão do kernel. Alguns plugins não podem ser criados em versões secundárias mais antigas. Se a sua instância executa uma versão secundária anterior à 20230830:

  • Se você já usa este plugin, a configuração existente não é afetada.

  • Se estiver criando o plugin pela primeira vez ou recriando-o, atualize a versão secundária do mecanismo para a mais recente antes de continuar.

Para mais detalhes, consulte Restrições na criação de plugins.

Como funciona

ZomboDB adiciona um método de acesso a índices personalizado (USING zombodb) ao PostgreSQL. Ao criar um índice ZomboDB em uma tabela, ele assume o controle dos índices remotos do Elasticsearch e garante a consistência transacional dos resultados de pesquisa de texto — sem necessidade de sincronização manual.

Instalar e remover a extensão

Instalação:

CREATE EXTENSION zombodb;

Remoção:

DROP EXTENSION zombodb;

Usar o ZomboDB

As etapas a seguir usam uma tabela products para demonstrar como criar um índice ZomboDB e executar consultas de texto completo.

Etapa 1: Crie a tabela

CREATE TABLE products (
    id SERIAL8 NOT NULL PRIMARY KEY,
    name text NOT NULL,
    keywords varchar(64)[],
    short_summary text,
    long_description zdb.fulltext,
    price bigint,
    inventory_count integer,
    discontinued boolean default false,
    availability_date date
);

Etapa 2: Crie um índice ZomboDB

CREATE INDEX idxproducts
          ON products
       USING zombodb ((products.*))
        WITH (url='localhost:9200/');

A cláusula WITH (url=...) especifica o endpoint do Elasticsearch, que aponta para um cluster do Elasticsearch em execução. Substitua localhost:9200/ pelo endereço do seu cluster Elasticsearch.

Etapa 3: Consulte usando ZomboDB

A linguagem de consulta do ZomboDB (ZQL) oferece suporte a operadores booleanos, correspondência por proximidade e condições de intervalo numérico. A consulta a seguir combina múltiplas condições:

SELECT *
  FROM products
 WHERE products ==> '(keywords:(sports OR box) OR long_description:"wooden away"~5) AND price:[1000 TO 20000]';

Para a referência completa da sintaxe ZQL, consulte a documentação do ZomboDB.

Tópicos relacionados