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
| Campo | O que é | Padrão |
|---|---|---|
| Endereço | URL do cluster, incluindo protocolo e porta. Ex.: https://es.exemplo.com:9200. | — |
| Índice | Nome 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 TLS | Com 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
| Campo | O que é | Padrão |
|---|---|---|
| Documentos por lote | Quantos documentos são acumulados antes de uma gravação. | 1000 |
| Segundos de inatividade | Tempo 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
| Parte | Como é usada |
|---|---|
| Value | Vira o documento indexado. Precisa ser um objeto JSON válido. |
| Key | Não é usada |
| Headers | Não são usados |
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.