PutElasticsearchJson 2025.10.9.21¶
Bundle¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
Description¶
Un processeur de mise en place d’Elasticsearch qui utilise les bibliothèques client officielles d’Elastic REST. Chaque FlowFile est traité comme un document à envoyer au _bulk Elasticsearch API. Plusieurs FlowFiles peuvent être regroupées en lots dans chaque requête envoyée à Elasticsearch.
Exigences en matière d’entrées¶
REQUIRED
Prend en charge les propriétés dynamiques sensibles¶
false
Propriétés¶
Propriété |
Description |
|---|---|
Batch Size |
Le nombre préféré de FlowFiles à envoyer en un seul lot |
Jeu de caractères |
Spécifie le jeu de caractères des données du document. |
Client Service |
Un service client Elasticsearch à utiliser pour l’exécution des requêtes. |
Dynamic Templates |
Les modèles dynamiques pour le document. Doit pouvoir être analysé comme un objet JSON. Exige Elasticsearch 7+ |
Attribut de l’identificateur |
Le nom de l’attribut FlowFile contenant l’identificateur du document. Si l’opération d’indexation est « index », cette propriété peut être laissée vide ou évaluer à une valeur vide, auquel cas l’identifiant du document sera généré automatiquement par Elasticsearch. Pour toutes les autres opérations d’indexation, l’attribut doit être évalué à une valeur non vide. |
Index |
Le nom de l’index à utiliser. |
Fonctionnement de l’index |
Le type de l’opération utilisée pour l’index (création, suppression, index, mise à jour, insertion) |
Log Error Responses |
Si cette option est activée, les erreurs seront consignées dans les journaux NiFi au niveau “error”. Sinon, elles ne seront connectées que si la connexion de débogage est activée sur NiFi dans son ensemble. L’objectif de cette option est de donner à l’utilisateur la possibilité de déboguer les opérations qui ont échoué sans avoir à activer la connexion de débogage. |
Max JSON Field String Length |
Longueur maximale autorisée pour une valeur de chaîne lors de l’analyse d’un document ou d’un attribut JSON. |
Output Error Responses |
Si cette option est activée, les messages de réponse provenant d’Elasticsearch marqués comme « erreurs » seront envoyés vers la relation « error_responses ». Cela n’a pas d’incidence sur la sortie des fichiers de flux vers les relations « successful » ou « errors ». |
Script |
Le script pour la mise à jour/le transfert de documents. Ne s’applique qu’aux opérations de mise à jour/suppression. Doit pouvoir être analysé comme un objet JSON. S’il est laissé vide, le contenu FlowFile sera utilisé pour la mise à jour ou l’upsert du document. |
Scripted Upsert |
Whether to add the scripted_upsert flag to the Upsert Operation. If true, forces Elasticsearch to execute the Script whether or not the document exists, defaults to false. If the Upsert Document provided (from FlowFile content) will be empty, but sure to set the Client Service controller service’s Suppress Null and Empty Values to Never Suppress or no « upsert » doc will be, included in the request to Elasticsearch and the operation will not create a new document for the script to execute against, resulting in a « not_found » error |
Traiter les documents ’Not Found’ comme des réussites |
Si “true”, les enregistrements Elasticsearch associés à des documents « not_found » seront routés vers la relation “successful”, sinon vers la relation « errors ». Si Output Error Responses est “true”, les réponses « not_found » d’Elasticsearch seront envoyées vers la relation error_responses. |
Type |
Le type de ce document (utilisé par Elasticsearch pour l’indexation et la recherche). |
Relations¶
Nom |
Description |
|---|---|
errors |
Enregistrements/FlowFiles correspondant à des documents Elasticsearch ayant entraîné une réponse « error » (au sein d’Elasticsearch) seront routés ici. |
failure |
Tous les FlowFiles qui échouent pour des raisons indépendantes de la disponibilité du serveur sont dirigés vers cette relation. |
original |
Tous les flowfiles qui sont envoyés à Elasticsearch sans échec de requête vont dans cette relation. |
retry |
Tous les FlowFiles qui échouent en raison de la disponibilité du serveur/cluster sont dirigés vers cette relation. |
successful |
Les enregistrements/fichiers de flux correspondant aux documents Elasticsearch qui n’ont pas donné lieu à une « erreur » (au sein d’Elasticsearch) seront routés ici. |
Écrit les attributs¶
Nom |
Description |
|---|---|
elasticsearch.put.error |
Le message d’erreur s’il y a un problème lors de l’analyse du FlowFile, de l’envoi du document analysé à Elasticsearch ou de l’analyse de la réponse Elasticsearch |
elasticsearch.bulk.error |
La réponse _bulk en cas d’erreur lors du traitement du document au sein d’Elasticsearch. |