JsonQueryElasticsearch 2025.5.31.15

バンドル

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

説明

Elasticsearch JSON DSL で記述されたクエリ(集約を含む)をユーザーに実行させるプロセッサーです。ユーザーのためにクエリを自動的にページ分割することはありません。このプロセッサーに受信リレーションシップが追加されると、フローファイルのコンテンツがクエリに使用されます。Elasticsearchからのレスポンス全体が一度にメモリにロードされ、結果のフローファイルに変換されるため、クエリのサイズには注意が必要です。

タグ

elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, get, json, query, read

入力要件

ALLOWED

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

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-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つのフローファイルを出力します。

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

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

リレーションシップ

名前

説明

aggregations

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

failure

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

hits

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

original

エラーが発生しないすべてのオリジナル・フローファイルは、このリレーションシップに移動します。

属性の書き込み

名前

説明

mime.type

application/json

aggregation.name

出力フローファイルに結果が含まれる集計の名前

aggregation.number

出力フローファイルに結果が含まれる集計の番号

ヒット.数

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

elasticsearch.クエリ.エラー

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

こちらもご覧ください