ConsumeElasticsearch 2025.5.31.15

バンドル

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

説明

Rangeクエリを使用してフィールドに対してページ分割クエリを繰り返し実行し、Elasticsearchインデックス/クエリから新しいドキュメントを消費するプロセッサーです。プロセッサーは、Rangeクエリが最後に取得したドキュメントの値に基づくフィールド制約を自動的に更新した後、結果が利用できなくなるか、Pagination Keep Aliveの有効期限に達するまで、複数ページの結果を取得します。

タグ

elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, json, page, query, scroll, search

入力要件

FORBIDDEN

機密動的プロパティをサポート

false

プロパティ

プロパティ

説明

最大 JSON フィールド文字列長

JSON ドキュメントまたは属性をパースするときに許容される文字列値の最大長。

el-query-attribute

セットされた場合、実行クエリは指定された属性内の各結果フローファイルにセットされます。

el-rest-client-service

クエリの実行に使用する Elasticsearch クライアントサービスです。

el-rest-fetch-index

使用するインデックスの名前。

el-rest-format-aggregations

アグリゲーション出力の形式。

el-rest-format-hits

ヒット出力の形式。

el-rest-output-no-hits

クエリにヒットしなかった場合でも、"hits "フローファイルを出力します。trueの場合、"aggregations "が出力されても、空の "hits "フローファイルが出力されます。

el-rest-pagination-keep-alive

ページネーション "keep_alive "期間。期間 Elasticsearch はリクエストの間、スクロール/ピットカーソルを維持します(これは全てのページが返されるまでの期待時間ではなく、ページ取得間のリクエストの最大許容時間です)。

el-rest-pagination-type

使用するページネーション方法。すべてのタイプがすべてのElasticsearchバージョンで利用できるわけではありませんので、Elasticsearchのドキュメントを確認して、お客様のサービスに可用性・推奨されるタイプを確認してください。

el-rest-split-up-aggregations

すべてのアグリゲーションを含むフローファイル、または個々のアグリゲーションごとに1つのフローファイルを出力します。

el-rest-split-up-hits

すべてのヒットを含むフローファイル、または個々のヒットに対応する1つのフローファイル、またはすべてのページングされた応答からのすべてのヒットを含む1つのフローファイルを出力します。

el-rest-type

このドキュメントのタイプ (Elasticsearch がインデックス作成と検索に使用します)。

es-rest-additional-filters

Lucene 構文ではなく、 JSON 構文による 1 つ以上のクエリフィルター。例: [{"match":{"somefield":"somevalue"}}, {"match":{"anotherfield":"anothervalue"}}]これらのフィルターは、Boolクエリのフィルターの一部として使用されます。

es-rest-query-aggs

JSON 構文で、1 つ以上のクエリ集約(または "aggs")。例: {"items": {"terms": {"field": "product", "size": 10}}}

es-rest-query-fields

JSON 構文で、検索するインデックスドキュメントのフィールド。例: ["user.id", "http.response.*", {"field": "@timestamp", "format": "epoch_millis"}]。

es-rest-query-script-fields

JSON 構文で、クエリのランタイムにスクリプト評価を使用して作成するフィールド。例: {"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

JSON 構文で、1 つ以上のフィールドで結果を並べ替えます。例: [{"price" : {"order" : "asc", "mode" : "avg"}}, {"post_date" : {"format": "strict_date_optional_time_nanos"}}]

es-rest-range-field

Elasticsearch Range クエリの一部として "gt "バウンドマッチを使用して追跡されるフィールド。このフィールドを検索するには、Elasticsearchドキュメント内に存在する必要があります。

es-rest-range-format

"範囲クエリフィールド" が日付フィールドの場合、"初期値"をこの形式で日付に変換します。指定しない場合、Elasticsearch は "Range Query Field" のマッピングでプロバイダーが提供する日付形式を使用します。有効な構文については、https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html を参照してください。

es-rest-range-initial-value

プロセッサーが以前に実行されていない場合に、クエリに使用する初期値。プロセッサーが以前に実行され、その状態に値が格納されている場合、このプロパティは無視されます。値が提供されず、プロセッサーが以前に実行されていない場合、Rangeクエリ境界は使用されません、すなわち、全てのドキュメントは指定された "Sort Order "で検索されます。

es-rest-range-time-zone

Range Query Field "がDateフィールドの場合、"Initial Value "をこのタイムゾーンで UTC に変換します。有効な値は ISO 8601 UTC 「+01:00」や「-08:00」などのオフセット、および IANA 「Europe/London」などのタイムゾーン IDs です。

es-rest-size

クエリで検索するドキュメントの最大数。クエリがページ分割されている場合、この「サイズ」は結果セット全体の「サイズ」ではなく、クエリの各ページに適用されます。

es-rest-sort-order

「レンジ クエリ フィールド」のソート順。"範囲クエリフィールド" フィールドの "ソート" 句は、提供された "ソート "句の前に付加されます。もし "Range Query Field "フィールドにすでに "sort "句が存在する場合、その句は更新されません。

状態管理

スコープ

説明

CLUSTER

ページネーションの状態(scrollId、searchAfter、pitId、hitCount、pageCount、 pageExpirationTimestamp、 trackingRangeValue)は、Scroll/PiT (現在の時刻が最後のクエリ実行よりも遅く、Pagination Keep Alive間隔を加えた時刻)が経過するまで、このプロセッサーの呼び出しの間に保持されます。

リレーションシップ

名前

説明

aggregations

アグリゲーションはこのリレーションシップにルーティングされます。

failure

サーバーの可用性とは無関係な理由で失敗したすべてのフローファイルは、この関係に移動します。

hits

検索ヒットはこのリレーションにルーティングされます。

retry

サーバー/クラスタの可用性のために失敗したすべてのフローファイルは、この関係に移動します。

属性の書き込み

名前

説明

mime.type

application/json

ページ.番号

出力フローファイルにある、結果が返されたページ(リクエスト)の番号(1から始まる)

ヒット.数

出力フローファイル内のヒット数

elasticsearch.クエリ.エラー

インデックスのクエリにエラーが発生した場合に Elasticsearch が提供するエラーメッセージ。

こちらもご覧ください