PaginatedJsonQueryElasticsearch 2025.5.31.15

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, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, json, page, query, read, scroll

Requisito de entrada

REQUIRED

Oferece suporte a propriedades dinâmicas confidenciais

falso

Propriedades

Propriedade

Descrição

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.

el-query-attribute

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

el-rest-client-service

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

el-rest-fetch-index

O nome do índice a ser usado.

el-rest-format-aggregations

Formato da saída de agregação.

el-rest-format-hits

Formato da saída de ocorrências.

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

el-rest-pagination-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).

el-rest-pagination-type

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.

el-rest-query

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.

el-rest-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.

el-rest-query-definition-style

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

el-rest-split-up-aggregations

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

el-rest-split-up-hits

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.

el-rest-type

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

es-rest-query-aggs

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

es-rest-query-fields

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

es-rest-query-script-fields

Campos a serem criados usando a 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}}}}

es-rest-query-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»}}]

es-rest-size

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.

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