JsonQueryElasticsearch 2025.5.31.15¶
Bundle¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
Beschreibung¶
Ein Prozessor, mit dem der Benutzer eine Abfrage (mit Aggregationen) ausführen kann, die mit Elasticsearch JSON DSL geschrieben wurde. Es paginiert Abfragen nicht automatisch für den Benutzer. Wenn eine eingehender Beziehung zu diesem Prozessor hinzugefügt wird, verwendet er den Inhalt des FlowFile für die Abfrage. Achten Sie auf die Größe der Abfrage, da die gesamte Antwort von Elasticsearch auf einmal in den Speicher geladen und in die resultierenden FlowFiles umgewandelt wird.
Eingabeanforderung¶
ALLOWED
Unterstützt sensible dynamische Eigenschaften¶
false
Eigenschaften¶
Eigenschaft |
Beschreibung |
---|---|
Max JSON Field String Length |
Die maximal zulässige Länge eines Zeichenfolgenwertes bei der Analyse eines JSON-Dokuments oder -Attributs. |
el-abfrage-attribut |
Wenn diese Option gesetzt ist, wird die ausgeführte Abfrage auf jedes Ergebnis-Flowfile im angegebenen Attribut gesetzt. |
el-rest-client-service |
Ein Elasticsearch-Clientdienst, der für Abfragen verwendet wird. |
el-rest-fetch-index |
Der Name des zu verwendenden Indexes. |
el-rest-format-aggregations |
Format der Aggregationsausgabe. |
el-rest-format-hits |
Format der Trefferausgabe. |
el-rest-output-no-hits |
Ein „Treffer“-FlowFile ausgeben, auch wenn keine Treffer für die Abfrage gefunden wurden. Bei „true“ wird ein leeres „Treffer“-Flowfile ausgegeben, auch wenn „Aggregationen“ ausgegeben werden. |
el-rest-query |
Eine Abfrage in JSON-Syntax, nicht in Lucene-Syntax. Beispiel: {„query“:{„match“:{„somefield“:“somevalue“}}}. Wenn dieser Parameter nicht gesetzt ist, wird die Abfrage aus dem FlowFile-Inhalt gelesen. Wenn die Abfrage (Eigenschaft und FlowFile-Inhalt) leer ist, wird ein leeres JSON-Standardobjekt verwendet, was zu einer „match_all“-Abfrage in Elasticsearch führt. |
el-rest-query-clause |
Eine „Abfrage“-Klausel in JSON-Syntax, nicht in Lucene-Syntax. Beispiel: {„match“:{„somefield“:“somevalue“}}. Wenn die Abfrage leer ist, wird ein standardmäßiges JSON-Objekt verwendet, was zu einer „match_all“-Abfrage in Elasticsearch führt. |
el-rest-query-definition-style |
Wie die JSON-Abfrage für die Verwendung durch den Prozessor definiert werden soll. |
el-rest-split-up-aggregations |
Ob ein FlowFile mit allen Aggregationen oder ein FlowFile für jede einzelne Aggregation ausgegeben wird. |
el-rest-split-up-hits |
Geben Sie ein FlowFile mit allen Treffern oder ein FlowFile für jeden einzelnen Treffer aus. |
el-rest-type |
Der Typ dieses Dokuments (wird von Elasticsearch für die Indizierung und Suche verwendet). |
es-rest-query-aggs |
Eine oder mehrere Abfrage-Aggregationen (oder „aggs“), in der JSON-Syntax. Bsp.: {„items“: {„terms“: {„field“: „product“, „size“: 10}}} |
es-rest-query-fields |
Felder der indizierten Dokumente, die abgerufen werden sollen, in JSON-Syntax. Bsp: [„user.id“, „http.response.*“, {„field“: „@timestamp“, „format“: „epoch_millis“}] |
es-rest-query-script-fields |
Felder, die mithilfe der Skriptauswertung zur Laufzeit der Abfrage erstellt werden, in der JSON-Syntax. Bsp: {„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 |
Sortieren der Ergebnisse nach einem oder mehreren Feldern, in der JSON-Syntax. Bsp: [{„price“ : {„order“ : „asc“, „mode“ : „avg“}}, {„post_date“ : {„format“: „strict_date_optional_time_nanos“}}] |
es-rest-size |
Die maximale Anzahl von Dokumenten, die in der Abfrage abgerufen werden sollen. Wenn die Abfrage paginiert ist, gilt diese Größe für jede Seite der Abfrage, nicht für die Größe des gesamten Resultsets. |
Beziehungen¶
Name |
Beschreibung |
---|---|
aggregate |
Aggregationen werden an diese Beziehung weitergeleitet. |
failure |
Alle FlowFiles, die aus Gründen, die nicht mit der Serververfügbarkeit zusammenhängen, fehlschlagen, werden an diese Beziehung weitergeleitet. |
hits |
Suchtreffer werden an diese Beziehung weitergeleitet. |
original |
Alle Original-FlowFiles, bei denen kein Fehler auftritt, gehen an diese Beziehung. |
Schreibt Attribute¶
Name |
Beschreibung |
---|---|
mime.type |
application/json |
aggregation.name |
Der Name der Aggregation, deren Ergebnisse im Ausgabe-FlowFile enthalten sind |
aggregation.number |
Die Nummer der Aggregation, deren Ergebnisse im Ausgabe-FlowFile enthalten sind |
hit.count |
Die Anzahl im Ausgabe-FlowFile enthaltenen Treffer |
elasticsearch.query.error |
Die von Elasticsearch bereitgestellte Fehlermeldung, wenn beim Abfragen des Index ein Fehler auftritt. |