JsonQueryElasticsearch 2025.10.9.21

Pacote

org.apache.nifi | nifi-elasticsearch-restapi-nar

Descrição

Um processador que permite ao usuário executar uma consulta (com agregações) escrita com o Elasticsearch JSON DSL. Ele não pagina automaticamente as consultas para o usuário. Se uma relação de entrada for adicionada a esse processador, ele usará o conteúdo do FlowFile para a consulta. Deve-se tomar cuidado com o tamanho da consulta porque toda a resposta do Elasticsearch será carregada na memória de uma só vez e convertida nos FlowFiles resultantes.

Tags

elasticsearch, elasticsearch7, elasticsearch8, elasticsearch9, get, json, query, read

Requisito de entrada

ALLOWED

Oferece suporte a propriedades dinâmicas confidenciais

falso

Propriedades

Propriedade

Descrição

Aggregation Results Format

Formato da saída de agregação.

Aggregation Results Split

Emite um FlowFile contendo todas as agregações ou um FlowFile para cada agregação individual.

Aggregations

Uma ou mais agregações de consulta (ou “aggs”), na sintaxe JSON. Ex.: {«items»: {«terms»: {«field»: «product», «size»: 10}}}

Client Service

Um serviço de cliente do Elasticsearch a ser usado para executar consultas.

Campos

Campos de documentos indexados a serem recuperados, na sintaxe JSON. Ex.: [«user.id», «http.response.*», {«field»: «@timestamp», «format»: «epoch_millis»}]

Índice

O nome do índice a ser usado.

Comprimento máximo da cadeia de caracteres do campo JSON

O comprimento máximo permitido de um valor de cadeia de caracteres ao analisar um documento ou atributo JSON.

Output No Hits

Emite um FlowFile de “ocorrências” mesmo que não sejam encontradas ocorrências para a consulta. Se for verdadeiro, será gerado um FlowFile de “ocorrências” vazio, mesmo que sejam geradas “agregações”.

Consulta

Uma consulta na sintaxe JSON, não na sintaxe Lucene. Ex.: {«query»:{«match»:{«somefield»:»somevalue»}}}. Se esse parâmetro não for definido, a consulta será lida a partir do conteúdo do FlowFile. Se a consulta (propriedade e conteúdo do FlowFile) estiver vazia, será usado um objeto JSON vazio padrão, o que resultará em uma consulta “match_all” no Elasticsearch.

Query Attribute

Se definido, a consulta executada será definida em cada FlowFile de resultado no atributo especificado.

Query Clause

Uma cláusula de “query” na sintaxe JSON, não na sintaxe Lucene. Ex.: {«match»:{«somefield»:»somevalue»}}. Se a consulta estiver vazia, será usado um objeto JSON padrão, o que resultará em uma consulta “match_all” no Elasticsearch.

Query Definition Style

Como a consulta JSON será definida para uso pelo processador.

Script Fields

Campos a serem criados usando avaliação de script no tempo de execução da consulta, na sintaxe JSON. Ex.: {«test1»: {«script»: {«lang»: «painless», «source»: «doc[ “price”].value * 2»}}, «test2»: {«script»: {«lang»: «painless», «source»: «doc[ “price”].value * params.factor», «params»: {«factor»: 2.0}}}}

Formato dos resultados da pesquisa

Formato da saída de ocorrências.

Divisão dos resultados da pesquisa

Emite um FlowFile contendo todas as ocorrências ou um FlowFile para cada ocorrência individual.

Tamanho

O número máximo de documentos a serem recuperados na consulta. Se a consulta for paginada, esse “tamanho” se aplicará a cada página da consulta, e não ao “tamanho” de todo o conjunto de resultados.

Sort

Classifique os resultados por um ou mais campos, na sintaxe JSON. Ex.: [{«price» : {«order» : «asc», «mode» : «avg»}}, {«post_date» : {«format»: «strict_date_optional_time_nanos»}}]

Type

O tipo desse documento (usado pelo Elasticsearch para indexação e pesquisa).

Relações

Nome

Descrição

aggregations

As agregações são roteadas para essa relação.

failure

Todos os FlowFiles que falham por motivos não relacionados à disponibilidade do servidor vão para essa relação.

hits

Os resultados da pesquisa são encaminhados para essa relação.

original

Todos os FlowFiles originais que não causam um erro vão para essa relação.

Grava atributos

Nome

Descrição

mime.type

applicativo/json

aggregation.name

O nome da agregação cujos resultados estão no FlowFile de saída

aggregation.number

O número da agregação cujos resultados estão no FlowFile de saída

hit.count

O número de ocorrências que estão no FlowFile de saída

elasticsearch.query.error

A mensagem de erro fornecida pelo Elasticsearch se houver um erro ao consultar o índice.

Consulte também