エンリッチポリシーAPIの実行
既存の enrich policy を実行します。
Python
resp = client.enrich.execute_policy(
name="my-policy",
wait_for_completion=False,
)
print(resp)
Ruby
response = client.enrich.execute_policy(
name: 'my-policy',
wait_for_completion: false
)
puts response
Js
const response = await client.enrich.executePolicy({
name: "my-policy",
wait_for_completion: "false",
});
console.log(response);
コンソール
PUT /_enrich/policy/my-policy/_execute?wait_for_completion=false
リクエスト
PUT /_enrich/policy/<enrich-policy>/_execute
POST /_enrich/policy/<enrich-policy>/_execute
前提条件
エンリッチポリシーを使用するには、次の条件を満たす必要があります:
read
インデックスの権限が必要ですenrich_user
組み込みロール
説明
エンリッチポリシーAPIを使用して、既存のエンリッチポリシーのためのエンリッチインデックスを作成します。
エンリッチインデックスは、ポリシーのソースインデックスからのドキュメントを含みます。エンリッチインデックスは常に .enrich-*
で始まり、読み取り専用で、強制マージされます。
エンリッチインデックスは、エンリッチプロセッサ または ES|QL ENRICH
コマンド のみが使用するべきです。他の目的でエンリッチインデックスを使用することは避けてください。
作成後、エンリッチインデックスにドキュメントを更新またはインデックスすることはできません。代わりに、ソースインデックスを更新し、再度エンリッチポリシーを実行します。これにより、更新されたソースインデックスから新しいエンリッチインデックスが作成されます。以前のエンリッチインデックスは、遅延メンテナンスジョブで削除されます。デフォルトでは、これは15分ごとに行われます。
デフォルトでは、このAPIは同期的です:ポリシーが実行されたときに返されます。ポリシーの実行は複数の操作を行うため、特にソースインデックスが大きい場合、応答が返されるまでに時間がかかることがあります。これにより、タイムアウトが発生する可能性があります。タイムアウトを防ぐために、wait_for_completion
パラメータを false
に設定します。これにより、リクエストがバックグラウンドで非同期に実行され、タスクIDが返されます。タスクIDを使用して、タスク管理APIでリクエストを管理できます。
パスパラメータ
<enrich-policy>
- (必須、文字列) 実行するエンリッチポリシー。
クエリパラメータ
wait_for_completion
- (オプション、Boolean)
true
の場合、リクエストは実行が完了するまでブロックされます。false
の場合、リクエストは即座に返され、実行はバックグラウンドで非同期に実行されます。デフォルトはtrue
です。