diff --git a/docs/changelog/129122.yaml b/docs/changelog/129122.yaml new file mode 100644 index 000000000000..eaed27e326c0 --- /dev/null +++ b/docs/changelog/129122.yaml @@ -0,0 +1,5 @@ +pr: 129122 +summary: Update ecs@mappings.json with new GenAI fields +area: Data streams +type: feature +issues: [] diff --git a/x-pack/plugin/core/template-resources/src/main/resources/ecs@mappings.json b/x-pack/plugin/core/template-resources/src/main/resources/ecs@mappings.json index 997bd942881a..e1b1150fa98d 100644 --- a/x-pack/plugin/core/template-resources/src/main/resources/ecs@mappings.json +++ b/x-pack/plugin/core/template-resources/src/main/resources/ecs@mappings.json @@ -31,7 +31,8 @@ "doc_values": false }, "path_match": [ - "*event.original" + "*event.original", + "*gen_ai.agent.description" ] } }, @@ -210,6 +211,34 @@ "match_mapping_type": "object" } }, + { + "ecs_gen_ai_integers": { + "mapping": { + "type": "integer" + }, + "path_match": [ + "*gen_ai.request.max_tokens", + "*gen_ai.usage.input_tokens", + "*gen_ai.usage.output_tokens", + "*gen_ai.request.choice.count", + "*gen_ai.request.seed" + ] + } + }, + { + "ecs_gen_ai_doubles": { + "mapping": { + "type": "double" + }, + "path_match": [ + "*gen_ai.request.temperature", + "*gen_ai.request.top_k", + "*gen_ai.request.frequency_penalty", + "*gen_ai.request.presence_penalty", + "*gen_ai.request.top_p" + ] + } + }, { "all_strings_to_keywords": { "mapping": { diff --git a/x-pack/plugin/stack/src/javaRestTest/java/org/elasticsearch/xpack/stack/EcsDynamicTemplatesIT.java b/x-pack/plugin/stack/src/javaRestTest/java/org/elasticsearch/xpack/stack/EcsDynamicTemplatesIT.java index eba239cd97e2..dd8dfc075a07 100644 --- a/x-pack/plugin/stack/src/javaRestTest/java/org/elasticsearch/xpack/stack/EcsDynamicTemplatesIT.java +++ b/x-pack/plugin/stack/src/javaRestTest/java/org/elasticsearch/xpack/stack/EcsDynamicTemplatesIT.java @@ -376,9 +376,12 @@ public class EcsDynamicTemplatesIT extends ESRestTestCase { case "long" -> { return randomLong(); } - case "int" -> { + case "integer" -> { return randomInt(); } + case "double" -> { + return randomDouble(); + } case "float", "scaled_float" -> { return randomFloat(); }