Thanks! It works, but while trying to use the vega we realized that all the custom features are disabled (like exporting, the filtering part)
so, we flattened the data by adding another section roles_display
Now we have the following mapping
{
"mappings": {
"properties": {
"email": {
"type": "text",
"fields": {
"keyword": { "type": "keyword", "ignore_above": 256 }
}
},
"identity_source": {
"type": "text",
"fields": {
"keyword": { "type": "keyword", "ignore_above": 256 }
}
},
"roles": {
"type": "nested",
"properties": {
"assigned_at": { "type": "date" },
"effective_from": { "type": "date" },
"effective_until": { "type": "date" },
"reason": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } },
"role_id": { "type": "keyword" },
"role_name": { "type": "keyword" },
"source": { "type": "keyword" }
}
},
"roles_display": {
"properties": {
"assigned_at": { "type": "date" },
"effective_from": { "type": "date" },
"reason": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } },
"role_id": { "type": "keyword" },
"role_name": { "type": "keyword" },
"source": { "type": "keyword" }
}
},
"timestamp": { "type": "date" },
"user_id": {
"type": "text",
"fields": {
"keyword": { "type": "keyword", "ignore_above": 256 }
}
},
"username": {
"type": "text",
"fields": {
"keyword": { "type": "keyword", "ignore_above": 256 }
}
}
}
}
}
Here it is an example of a document
"_index": "user_roles",
"_id": "user_roles+0+231",
"_score": 0,
"_source": {
"user_id": "1b5170f4-b539-497b-bd46-1fd52bc7ca3d",
"username": "1000005",
"email": "1000005@mail.com",
"identity_source": "Application",
"roles": [
{
"role_id": "77777777-1111-0300-0000-000000000000",
"role_name": "Basic User",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "Internal Users",
"reason": "Unknown"
},
{
"role_id": "fed78074-4d05-4b1d-830d-c9c477638f70",
"role_name": "0001",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "direct",
"reason": "Unknown"
},
{
"role_id": "becf5b74-c1b5-4daf-a09f-1c75cfae6979",
"role_name": "A001",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "Role: 0001",
"reason": "Unknown"
},
{
"role_id": "084d5f92-d9ac-4eb8-be32-6a5274fd8645",
"role_name": "A002",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "Role: 0001",
"reason": "Unknown"
}
],
"roles_display": [
{
"role_id": "77777777-1111-0300-0000-000000000000",
"role_name": "Basic User",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "Internal Users",
"reason": "Unknown"
},
{
"role_id": "fed78074-4d05-4b1d-830d-c9c477638f70",
"role_name": "0001",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "direct",
"reason": "Unknown"
},
{
"role_id": "becf5b74-c1b5-4daf-a09f-1c75cfae6979",
"role_name": "A001",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "Role: 0001",
"reason": "Unknown"
},
{
"role_id": "084d5f92-d9ac-4eb8-be32-6a5274fd8645",
"role_name": "A002",
"assigned_at": 0,
"effective_from": 0,
"effective_until": null,
"source": "Role: 0001",
"reason": "Unknown"
}
],
"timestamp": 1741784080103
}
}
I created a visualization of type enhanced table with the following configuration
Aggregation - Terms - field username.keyword
Aggregation - Terms - field roles_display.role_name
Aggregation - Terms - field roles_display.reason.keyword
Aggregation - Terms - field roles_display.source
When I create the table with
Aggregation - Terms - field username.keyword
Aggregation - Terms - field roles_display.role_name
all is OK, but when I try to add more fields like the reason or the source, all is mixed up, with all the possible variants from the nested fields
User |
Role name |
Source |
1000005 |
0001 |
Internal Users |
1000005 |
0001 |
Role: 0001 |
1000005 |
0001 |
direct |
even thought for user 1000005 and role 0001 there is only 1 source direct
How could I avoid this?
To create a filter on the visualization ? For the aggregation I have only terms, filters , significant terms and others related to histogram and dates
Thanks!