Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Look for field definitions also in multi-fields
  • Loading branch information
jsoriano committed Jun 29, 2023
commit f076abaf621fc93d87aab2f37eff448c44f02378
5 changes: 5 additions & 0 deletions internal/fields/testdata/fields/fields.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,8 @@
- name: protocol
- name: start
- name: user
- name: process.name
type: wildcard
multi_fields:
- name: text
type: text
7 changes: 4 additions & 3 deletions internal/fields/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -508,11 +508,12 @@ func findElementDefinitionForRoot(root, searchedKey string, FieldDefinitions []F
return &def
}

if len(def.Fields) == 0 {
continue
fd := findElementDefinitionForRoot(key, searchedKey, def.Fields)
if fd != nil {
return fd
}

fd := findElementDefinitionForRoot(key, searchedKey, def.Fields)
fd = findElementDefinitionForRoot(key, searchedKey, def.MultiFields)
if fd != nil {
return fd
}
Expand Down
8 changes: 8 additions & 0 deletions internal/fields/validate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,14 @@ func TestValidate_ExpectedEventType(t *testing.T) {
},
valid: false,
},
{
title: "multi-field",
doc: common.MapStr{
"process.name": "elastic-package",
"process.name.text": "elastic-package",
},
valid: true,
},
}

for _, c := range cases {
Expand Down