PaginatedJsonQueryElasticsearch 2025.10.9.21

Bundle

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

Beschreibung

Ein Prozessor, mit dem der Benutzer eine paginierte Abfrage (mit Aggregationen) ausführen kann, die mit Elasticsearch JSON DSL geschrieben wurde. Es verwendet den Inhalt des FlowFile für die Abfrage, es sei denn, das QUERY-Attribut ist gefüllt. „Search After“-/„Point in Time“-Abfragen müssen ein gültiges „Sort“-Feld enthalten.

Tags

elasticsearch, elasticsearch7, elasticsearch8, elasticsearch9, json, seite, abfrage, lesen, scrollen

Eingabeanforderung

REQUIRED

Unterstützt sensible dynamische Eigenschaften

false

Eigenschaften

Eigenschaft

Beschreibung

Aggregation Results Format

Format der Aggregationsausgabe.

Aggregation Results Split

Ob ein FlowFile mit allen Aggregationen oder ein FlowFile für jede einzelne Aggregation ausgegeben wird.

Aggregations

Eine oder mehrere Abfrage-Aggregationen (oder „aggs“), in der JSON-Syntax. Bsp.: {„items“: {„terms“: {„field“: „product“, „size“: 10}}}

Client Service

Ein Elasticsearch-Clientdienst, der für Abfragen verwendet wird.

Felder

Felder der indizierten Dokumente, die abgerufen werden sollen, in JSON-Syntax. Bsp: [„user.id“, „http.response.*“, {„field“: „@timestamp“, „format“: „epoch_millis“}]

Index

Der Name des zu verwendenden Indexes.

Max JSON Field String Length

Die maximal zulässige Länge eines Zeichenfolgenwertes bei der Analyse eines JSON-Dokuments oder -Attributs.

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.

Pagination Keep Alive

„Keep_alive“-Zeitraum der Paginierung. Zeitraum, in dem Elasticsearch den Scroll-/PIT-Cursor zwischen Anfragen aktiv hält (dies ist nicht die erwartete Zeit zur Rückgabe aller Seiten, sondern die maximal zulässige Zeit zwischen den Seitenabrufen).

Pagination Type

Zu verwendende Paginierungsmethode. Nicht alle Typen sind für alle Elasticsearch-Versionen verfügbar. Prüfen Sie in der Elasticsearch-Dokumentation, welche Typen für Ihren Dienst geeignet und empfohlen sind.

Abfrage

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.

Query Attribute

Wenn diese Option gesetzt ist, wird die ausgeführte Abfrage auf jedes Ergebnis-Flowfile im angegebenen Attribut gesetzt.

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.

Query Definition Style

Wie die JSON-Abfrage für die Verwendung durch den Prozessor definiert werden soll.

Script Fields

Felder, die mithilfe der Skriptauswertung zur Laufzeit der Abfrage erstellt werden sollen, in JSON-Syntax. Beispiel: {„test1“: {„script“: {„lang“: „painless“, „source“: „doc[ ‚price‘].value * 2“}}, „test2“: {„script“: {„lang“: „painless“, „source“: „doc[ ‚price‘].value * params.factor“, „params“: {„factor“: 2.0}}}}

Search Results Format

Format der Trefferausgabe.

Search Results Split

Ob ein FlowFile mit allen Treffern oder ein FlowFile für jeden einzelnen Treffer oder ein FlowFile mit allen Treffern aus allen paginierten Antworten ausgegeben wird.

Size (Größe)

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.

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“}}]

Type

Der Typ dieses Dokuments (wird von Elasticsearch für die Indizierung und Suche verwendet).

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

page.number

Die Nummer der Seite (Anfrage), beginnend bei 1, auf der die im Ausgabe-FlowFile enthaltenen Ergebnisse zurückgegeben wurden.

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.

Siehe auch: