Pular para o conteúdo principal

Output Elasticsearch

Indexa as mensagens como documentos em um índice do Elasticsearch, em lotes.

É o Output usado quando o objetivo é buscar e analisar os dados — busca por texto, painéis, análise de logs.

Campos

Conexão

CampoO que éPadrão
EndereçoURL do cluster, incluindo protocolo e porta. Ex.: https://es.exemplo.com:9200.
ÍndiceNome do índice que vai receber os documentos.
Usuário (opcional)Usuário, quando o cluster usa autenticação básica.vazio
Senha (secret)O Secret com a senha.vazio
API Key (alternativa)Chave de API, para clusters que autenticam por chave em vez de usuário e senha. Use ou usuário/senha, ou API Key.vazio
Ignorar TLSCom Sim, o certificado do servidor não é verificado. Só use em ambiente interno com certificado autoassinado — em produção, mantenha Não.Não

Lote

CampoO que éPadrão
Documentos por loteQuantos documentos são acumulados antes de uma gravação.1000
Segundos de inatividadeTempo máximo de espera antes de enviar um lote incompleto. O lote é enviado pelo que vier primeiro: atingir o número de documentos ou esgotar esse tempo.5

O que este Output precisa ler do tópico

ParteComo é usada
ValueVira o documento indexado. Precisa ser um objeto JSON válido.
KeyNão é usada
HeadersNão são usados
O Value precisa ser JSON

O conteúdo é enviado ao Elasticsearch como documento, sem conversão. Um Value que não seja um objeto JSON válido é rejeitado pelo cluster. Se o seu Input produz texto puro ou XML, coloque um Transform no meio para converter.

Exemplo

Mensagens lidas do tópico:

Value: {"pedido":1234,"cliente":"ACME","total":199.90,"data":"2026-07-26"}
Value: {"pedido":1235,"cliente":"Contoso","total":88.00,"data":"2026-07-26"}

Com Índice pedidos, dois documentos são criados no índice pedidos, com o conteúdo exatamente como veio no Value. O Elasticsearch gera o _id de cada documento automaticamente.

Este Output não apaga documentos

Uma mensagem de Value vazio é descartada em silêncio — não há documento para indexar. Ou seja: uma linha apagada na origem continua existindo no índice.

Se o índice precisa refletir exclusões, o caminho é um Transform que converta o delete em um documento marcado (por exemplo, com um campo apagado: true montado a partir da Key).

Documentos repetidos

Como o _id é gerado pelo Elasticsearch, cada mensagem vira um documento novo. Se a pipeline vem de um CDC, uma linha que sofreu três atualizações vira três documentos, não um atualizado.

Para índices que devem refletir o estado atual, e não o histórico, a alternativa é usar PostgreSQL ou Snowflake como destino de verdade e indexar a partir dali.

Quando o cluster está fora do ar

Um lote que falha faz as mensagens não serem confirmadas — elas serão reenviadas. Nada é perdido, mas o acúmulo aparece como lag crescente na observabilidade até o cluster voltar.