エンリッチポリシーAPIの作成
エンリッチポリシーを作成します。
Python
resp = client.enrich.put_policy(
name="my-policy",
match={
"indices": "users",
"match_field": "email",
"enrich_fields": [
"first_name",
"last_name",
"city",
"zip",
"state"
]
},
)
print(resp)
Ruby
response = client.enrich.put_policy(
name: 'my-policy',
body: {
match: {
indices: 'users',
match_field: 'email',
enrich_fields: [
'first_name',
'last_name',
'city',
'zip',
'state'
]
}
}
)
puts response
Js
const response = await client.enrich.putPolicy({
name: "my-policy",
match: {
indices: "users",
match_field: "email",
enrich_fields: ["first_name", "last_name", "city", "zip", "state"],
},
});
console.log(response);
コンソール
PUT /_enrich/policy/my-policy
{
"match": {
"indices": "users",
"match_field": "email",
"enrich_fields": ["first_name", "last_name", "city", "zip", "state"]
}
}
リクエスト
PUT /_enrich/policy/<enrich-policy>
前提条件
エンリッチポリシーを使用するには、次の条件を満たす必要があります:
read
インデックスの権限が必要ですenrich_user
組み込みロール
説明
エンリッチポリシーAPIを使用して、エンリッチポリシーを作成します。
作成後、エンリッチポリシーを更新または変更することはできません。代わりに、次のことができます:
- 1. 新しいエンリッチポリシーを作成し、実行します。
- 2. 以前のエンリッチポリシーを新しいエンリッチポリシーに置き換えます。
- 3. エンリッチポリシーを削除するAPIまたはKibanaのインデックス管理を使用して、以前のエンリッチポリシーを削除します。
パスパラメータ
<enrich-policy>
- (必須、文字列) 作成または更新するエンリッチポリシーの名前。
リクエストボディ
<policy-type>
- (必須、オブジェクト) エンリッチポリシーを構成します。フィールドキーはエンリッチポリシーのタイプです。有効なキー値は次のとおりです:
geo_match
geo_shape
クエリに基づいて、エンリッチデータを受信ドキュメントに一致させます。例については、例:ジオロケーションに基づいてデータをエンリッチするを参照してください。match
term
クエリに基づいて、エンリッチデータを受信ドキュメントに一致させます。例については、例:正確な値に基づいてデータをエンリッチするを参照してください。range
term
クエリに基づいて、受信ドキュメント内の数値、日付、またはIPアドレスをエンリッチインデックス内の範囲に一致させます。例については、例:値を範囲に一致させてデータをエンリッチするを参照してください。<policy-type>
のプロパティindices
- (必須、文字列または文字列の配列) エンリッチインデックスを作成するために使用される1つ以上のソースインデックス。
複数のインデックスが指定されている場合、共通のmatch_field
を共有する必要があります。 match_field
- (必須、文字列) 受信ドキュメントに一致させるために使用されるソースインデックス内のフィールド。
enrich_fields
- (必須、文字列の配列) 一致する受信ドキュメントに追加するフィールド。これらのフィールドはソースインデックスに存在する必要があります。
query
- (オプション、Query DSLクエリオブジェクト) エンリッチインデックス内のドキュメントをフィルタリングするために使用されるクエリ。このポリシーは、このクエリに一致するドキュメントのみを使用して受信ドキュメントをエンリッチします。デフォルトでは、
match_all
クエリが使用されます。