JsonQueryElasticsearch 2025.5.31.15¶
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.
Requisito de entrada¶
ALLOWED
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-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 todas as ocorrências ou um FlowFile para cada ocorrência individual. |
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 |
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. |