ConsumeElasticsearch 2025.5.31.15

Pacote

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

Descrição

Um processador que executa repetidamente uma consulta paginada em um campo usando uma consulta Range para consumir novos documentos de um índice/consulta do Elasticsearch. O processador recuperará várias páginas de resultados até que não haja mais resultados disponíveis ou até que o prazo de validade de Pagination Keep Alive (Manutenção da paginação) seja atingido, após o que a consulta Range atualizará automaticamente a restrição de campo com base no último valor de documento recuperado.

Tags

elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, json, page, query, scroll, search

Requisito de entrada

FORBIDDEN

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-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-additional-filters

Um ou mais filtros de consulta na sintaxe JSON, não na sintaxe Lucene. Ex.: [{«match»:{«somefield»:»somevalue»}}, {«match»:{«anotherfield»:»anothervalue»}}]. Esses filtros serão usados como parte de um filtro de consulta booliano.

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-range-field

Campo a ser rastreado como parte de uma consulta Range do Elasticsearch usando uma correspondência vinculada “gt”. Esse campo deve existir no documento do Elasticsearch para que possa ser recuperado.

es-rest-range-format

Se o “Campo de consulta Range” for um campo de data, converta o “Valor inicial” em uma data com esse formato. Se não for especificado, o Elasticsearch usará o formato de data fornecido pelo mapeamento do “Campo de consulta Range”. Para obter a sintaxe válida, consulte https://www.elastic.co/guide/pt/elasticsearch/reference/current/mapping-date-format.html

es-rest-range-initial-value

O valor inicial a ser usado para a consulta se o processador não tiver sido executado anteriormente. Se o processador tiver sido executado anteriormente e armazenado um valor em seu estado, essa propriedade será ignorada. Se nenhum valor for fornecido e o processador não tiver sido executado anteriormente, nenhum limite de consulta de intervalo será usado, ou seja, todos os documentos serão recuperados na “Ordem de classificação” especificada.

es-rest-range-time-zone

Se o “Campo de consulta Range” for um campo de data, converta o “Valor inicial” para UTC com esse fuso horário. Os valores válidos são deslocamentos ISO 8601 UTC, como “+01:00” ou “-08:00”, e IDs de fuso horário IANA, como “Europa/Londres”.

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.

es-rest-sort-order

A ordem em que o “Campo de consulta Range” deve ser classificada. Uma cláusula de ordenação para o campo “Campo de consulta Range” será anexada a qualquer cláusula de ordenação fornecida. Se já existir uma cláusula de ordenação para o “Campo de consulta Range”, ela não será atualizada.

Gerenciamento do estado

Escopos

Descrição

CLUSTER

O estado de paginação (scrollId, searchAfter, pitId, hitCount, pageCount, pageExpirationTimestamp, trackingRangeValue) é mantido entre as invocações desse processador até que Scroll/PiT tenha expirado (quando a hora atual for posterior à última execução da consulta mais o intervalo de Pagination Keep Alive).

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.

retry

Todos os FlowFiles que falham devido à disponibilidade do servidor/cluster vão para essa relação.

Grava atributos

Nome

Descrição

mime.type

applicativo/json

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