PaginatedJsonQueryElasticsearch 2025.10.9.21

Pacote

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

Descrição

Um processador que permite ao usuário executar uma consulta paginada (com agregações) escrita com o Elasticsearch JSON DSL. Ele usará o conteúdo do FlowFile para a consulta, a menos que o atributo QUERY seja preenchido. As consultas Search After/Point in Time devem incluir um campo “sort” válido.

Tags

elasticsearch, elasticsearch7, elasticsearch8, elasticsearch9, json, página, consulta, leitura, rolagem

Requisito de entrada

REQUIRED

Oferece suporte a propriedades dinâmicas confidenciais

falso

Propriedades

Propriedade

Descrição

Formato dos resultados da agregação

Formato da saída de agregação.

Divisão dos resultados da agregação

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

Agregações

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

Serviço de cliente

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.

Saída sem ocorrências

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”.

Paginação com keep alive

Período de paginação “keep_alive”. Período durante o qual o Elasticsearch manterá o cursor de scroll/pit ativo entre as solicitações (esse não é o tempo esperado para que todas as páginas sejam retornadas, mas o tempo máximo permitido para solicitações entre recuperações de páginas).

Tipo de paginação

Método de paginação a ser usado. Nem todos os tipos estão disponíveis para todas as versões do Elasticsearch. Consulte a documentação do Elasticsearch para confirmar quais são aplicáveis e recomendados para seu serviço.

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.

Atributo de consulta

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

Cláusula de consulta

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.

Estilo de definição da consulta

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

Campos de script

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 todos as ocorrências ou um FlowFile para cada ocorrência individual ou um FlowFile contendo todos as ocorrências de todas as respostas paginadas.

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»}}]

Tipo

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

page.number

O número da página (solicitação), a partir de 1, na qual foram retornados os resultados que 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