お世話になります。
Ingest nodeのJSON processorに関して質問させて頂きます。
以下にてmessage("objects"の配列に"references"の配列がネストされている)のデータをJSON processorを使いパース処理を検証しています。
Simulate上、"references"は"json_target.objects"の値となっていますが、
"json_target.objects"と同じ階層の項目名にしたいです。(例:"json_target.objects.references")
上記を実現できる方法がありましたら教えてください。
▼Simulate
POST /_ingest/pipeline/_simulate
{
"pipeline": {
"processors": [
{
"json": {
"field": "message",
"target_field": "json_target"
}
},
{
"set": {
"field": "_index",
"value": "bbb"
}
}
],
"on_failure": [
{
"set": {
"field": "_index",
"value": "failed-bbb"
}
},
{
"set": {
"field": "error",
"value": "{{ _ingest.on_failure_message }}"
}
}
]
},
"docs": [
{
"_index": "aaa",
"_id": "id1",
"_source": {
"message": "{\"objects\":[{\"references\":[{\"id\":\"111\",\"source_name\":\"abc\",\"url\":\"https://aaa.bbb.org\"}]}],\"version\":\"2.0\",\"type\":\"bundle\"}"
}
}
]
}
▼Simulate結果
{
"docs" : [
{
"doc" : {
"_index" : "bbb",
"_type" : "_doc",
"_id" : "id1",
"_source" : {
"json_target" : {
"type" : "bundle",
"version" : "2.0",
"objects" : [
{
"references" : [
{
"source_name" : "abc",
"url" : "https://aaa.bbb.org",
"id" : "111"
}
]
}
]
},
"message" : """{"objects":[{"references":[{"id":"111","source_name":"abc","url":"https://aaa.bbb.org"}]}],"version":"2.0","type":"bundle"}"""
},
"_ingest" : {
"timestamp" : "2020-08-26T04:17:06.724213Z"
}
}
}
]
}
以上、お手数ですが回答を宜しくお願い致します。