エンリッチポリシーAPIの実行

既存の enrich policy を実行します。

Python

  1. resp = client.enrich.execute_policy(
  2. name="my-policy",
  3. wait_for_completion=False,
  4. )
  5. print(resp)

Ruby

  1. response = client.enrich.execute_policy(
  2. name: 'my-policy',
  3. wait_for_completion: false
  4. )
  5. puts response

Js

  1. const response = await client.enrich.executePolicy({
  2. name: "my-policy",
  3. wait_for_completion: "false",
  4. });
  5. console.log(response);

コンソール

  1. PUT /_enrich/policy/my-policy/_execute?wait_for_completion=false

リクエスト

PUT /_enrich/policy/<enrich-policy>/_execute

POST /_enrich/policy/<enrich-policy>/_execute

前提条件

エンリッチポリシーを使用するには、次の条件を満たす必要があります:

説明

エンリッチポリシーAPIを使用して、既存のエンリッチポリシーのためのエンリッチインデックスを作成します。

エンリッチインデックスは、ポリシーのソースインデックスからのドキュメントを含みます。エンリッチインデックスは常に .enrich-* で始まり、読み取り専用で、強制マージされます。

エンリッチインデックスは、エンリッチプロセッサ または ES|QL ENRICH コマンド のみが使用するべきです。他の目的でエンリッチインデックスを使用することは避けてください。

作成後、エンリッチインデックスにドキュメントを更新またはインデックスすることはできません。代わりに、ソースインデックスを更新し、再度エンリッチポリシーを実行します。これにより、更新されたソースインデックスから新しいエンリッチインデックスが作成されます。以前のエンリッチインデックスは、遅延メンテナンスジョブで削除されます。デフォルトでは、これは15分ごとに行われます。

デフォルトでは、このAPIは同期的です:ポリシーが実行されたときに返されます。ポリシーの実行は複数の操作を行うため、特にソースインデックスが大きい場合、応答が返されるまでに時間がかかることがあります。これにより、タイムアウトが発生する可能性があります。タイムアウトを防ぐために、wait_for_completion パラメータを false に設定します。これにより、リクエストがバックグラウンドで非同期に実行され、タスクIDが返されます。タスクIDを使用して、タスク管理APIでリクエストを管理できます。

パスパラメータ

  • <enrich-policy>
  • (必須、文字列) 実行するエンリッチポリシー。

クエリパラメータ

  • wait_for_completion
  • (オプション、Boolean) true の場合、リクエストは実行が完了するまでブロックされます。false の場合、リクエストは即座に返され、実行はバックグラウンドで非同期に実行されます。デフォルトは true です。