ConsumeElasticsearch 2025.5.31.15¶
バンドル¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
説明¶
Rangeクエリを使用してフィールドに対してページ分割クエリを繰り返し実行し、Elasticsearchインデックス/クエリから新しいドキュメントを消費するプロセッサーです。プロセッサーは、Rangeクエリが最後に取得したドキュメントの値に基づくフィールド制約を自動的に更新した後、結果が利用できなくなるか、Pagination Keep Aliveの有効期限に達するまで、複数ページの結果を取得します。
入力要件¶
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 が提供するエラーメッセージ。 |