SearchElasticsearch 2025.5.31.15¶
バンドル¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
説明¶
Elasticsearch JSON DSL で記述されたページ分割されたクエリ(集約を含む)を繰り返し実行できるプロセッサーです。Search After/Point in Timeクエリには、有効な「ソート」フィールドを含める必要があります。プロセッサーは、結果がなくなるか、またはページネーション キープ アライブの有効期限に達するまで、複数ページの結果を取得します。その後、クエリは、取得される結果の最初のページから再開されます。
入力要件¶
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-query |
Lucene 構文ではなく JSON 構文のクエリ。例: {"query":{"match":{"somefield":"somevalue"}}}。クエリが空の場合、デフォルトの JSON オブジェクトが使用され、Elasticsearch では "match_all" クエリ結果となります。 |
el-rest-query-clause |
Lucene 構文ではなく、 JSON 構文の "クエリ" 句。例: {"match":{"somefield":"somevalue"}}。クエリが空の場合、デフォルトの JSON オブジェクトが使用され、Elasticsearch では "match_all" クエリ結果となります。 |
el-rest-query-definition-style |
JSON クエリがプロセッサーで使用されるための定義方法。 |
el-rest-split-up-aggregations |
すべてのアグリゲーションを含むフローファイル、または個々のアグリゲーションごとに1つのフローファイルを出力します。 |
el-rest-split-up-hits |
すべてのヒットを含むフローファイル、または個々のヒットに対応する1つのフローファイル、またはすべてのページングされた応答からのすべてのヒットを含む1つのフローファイルを出力します。 |
el-rest-type |
このドキュメントのタイプ (Elasticsearch がインデックス作成と検索に使用します)。 |
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-size |
クエリで検索するドキュメントの最大数。クエリがページ分割されている場合、この「サイズ」は結果セット全体の「サイズ」ではなく、クエリの各ページに適用されます。 |
restart-on-finish |
ページ分割された検索が完了したときに、プロセッサーが同じクエリで別の検索を開始するかどうか。 |
状態管理¶
スコープ |
説明 |
---|---|
LOCAL |
ページネーションの状態(scrollId、searchAfter、pitId、hitCount、pageCount、 pageExpirationTimestamp)は、Scroll/PiT (現在の時刻が最後のクエリ実行よりも遅く、Pagination Keep Alive間隔を加えた時刻)が経過するまで、このプロセッサーの呼び出しの間に保持されます。 |
リレーションシップ¶
名前 |
説明 |
---|---|
aggregations |
アグリゲーションはこのリレーションシップにルーティングされます。 |
failure |
サーバーの可用性とは無関係な理由で失敗したすべてのフローファイルは、この関係に移動します。 |
hits |
検索ヒットはこのリレーションにルーティングされます。 |
retry |
サーバー/クラスタの可用性のために失敗したすべてのフローファイルは、この関係に移動します。 |
属性の書き込み¶
名前 |
説明 |
---|---|
mime.type |
application/json |
aggregation.name |
出力フローファイルに結果が含まれる集計の名前 |
aggregation.number |
出力フローファイルに結果が含まれる集計の番号 |
ページ.番号 |
出力フローファイルにある、結果が返されたページ(リクエスト)の番号(1から始まる) |
ヒット.数 |
出力フローファイル内のヒット数 |
elasticsearch.クエリ.エラー |
インデックスのクエリにエラーが発生した場合に Elasticsearch が提供するエラーメッセージ。 |