ConsumeElasticsearch 2025.10.9.21¶
Bundle¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
Beschreibung¶
Ein Prozessor, der wiederholt eine paginierte Abfrage auf ein Feld unter Verwendung einer Bereichsabfrage (Range Query) durchführt, um neue Dokumente aus einem Elasticsearch-Index/einer Elasticsearch-Abfrage zu verarbeiten. Der Prozessor ruft mehrere Ergebnisseiten ab, bis entweder keine weiteren Ergebnisse verfügbar sind oder das Gültigkeitsdauer von „Pagination Keep Alive“ erreicht ist. Danach aktualisiert die Range-Abfrage die Feldeinschränkung automatisch anhand des zuletzt abgerufenen Dokumentwertes.
Eingabeanforderung¶
FORBIDDEN
Unterstützt sensible dynamische Eigenschaften¶
false
Eigenschaften¶
Eigenschaft |
Beschreibung |
|---|---|
Additional Filters |
Ein oder mehrere Abfragefilter in JSON-Syntax, nicht Lucene-Syntax. Bsp.: [{„match“:{„somefield“:“somevalue“}}, {„match“:{„anotherfield“:“anothervalue“}}]. Diese Filter werden als Teil eines Bool-Abfragefilters verwendet. |
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. |
Initial Value |
Der Anfangswert, der für die Abfrage verwendet werden soll, wenn der Prozessor zuvor noch nicht ausgeführt wurde. Wenn der Prozessor zuvor ausgeführt wurde und einen Wert in seinem Status gespeichert hat, wird diese Eigenschaft ignoriert. Wenn kein Wert angegeben wird und der Prozessor zuvor noch nicht ausgeführt wurde, wird keine Bereichsabfrage (Range Query) verwendet, d. h. alle Dokumente werden in der angegebenen „Sort Order“ abgerufen. |
Datumsformat des Anfangswertes |
Wenn das „Range Query Field“ ein Datumsfeld ist, den „Initial Value“ in ein Datum mit diesem Format konvertieren. Wenn nicht angegeben, verwendet Elasticsearch das Datumsformat, das in der Zuordnung des „Range Query Field“ definiert ist. Die gültige Syntax finden Sie unter https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html. |
Zeitzone des Anfangswertes |
Wenn das „Range Query Field“ ein Datumsfeld ist, den „Initial Value“ in UTC mit dieser Zeitzone konvertieren. Gültige Werte sind ISO 8601 UTC Offsets, wie z. B. „+01:00“ oder „-08:00“, und IANA Zeitzonen-IDs, wie z. B. „Europe/London“. |
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. |
Query Attribute |
Wenn diese Option gesetzt ist, wird die ausgeführte Abfrage auf jedes Ergebnis-Flowfile im angegebenen Attribut gesetzt. |
Bereichsabfragefeld |
Feld, das im Rahmen einer Elasticsearch-Range-Abfrage mit einer „gt“-Begrenzung (größer als) verfolgt werden soll. Dieses Feld muss im Elasticsearch-Dokument vorhanden sein, damit es abgerufen werden kann. |
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}}}} |
Suchergebnisformat |
Format der Trefferausgabe. |
Suchergebnisse aufteilen |
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“}}] |
Sort Order |
Die Reihenfolge, in der das „Range Query Field“ sortiert werden soll. Eine „Sort“-Klausel für das Feld „Range Query Field“ wird allen bereitgestellten „Sort“-Klauseln vorangestellt. Wenn für das Feld „Range Query Field“ bereits eine „Sort“-Klausel existiert, wird sie nicht aktualisiert. |
Type |
Der Typ dieses Dokuments (wird von Elasticsearch für die Indizierung und Suche verwendet). |
Statusmanagement¶
Bereiche |
Beschreibung |
|---|---|
CLUSTER |
Der Paginierungsstatus (scrollId, searchAfter, pitId, hitCount, pageCount, pageExpirationTimestamp, trackingRangeValue) wird zwischen den Aufrufen dieses Prozessors so lange beibehalten, bis das Scroll-/PiT-Intervall abgelaufen ist (wenn die aktuelle Zeit nach dem Zeitpunkt der letzten Abfrageausführung plus dem „Pagination Keep-Alive“-Intervall liegt). |
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. |
retry |
Alle FlowFiles, die aufgrund der Server-/Clusterverfügbarkeit fehlschlagen, werden an diese Beziehung weitergeleitet. |
Schreibt Attribute¶
Name |
Beschreibung |
|---|---|
mime.type |
application/json |
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. |