muszę agregować tablicę następującoAgregacja tablicę wartości w elasticsearch
Dwa przykłady dokumentu:
{
"_index": "log",
"_type": "travels",
"_id": "tnQsGy4lS0K6uT3Hwzzo-g",
"_score": 1,
"_source": {
"state": "saopaulo",
"date": "2014-10-30T17",
"traveler": "patrick",
"registry": "123123",
"cities": {
"saopaulo": 1,
"riodejaneiro": 2,
"total": 2
},
"reasons": [
"Entrega de encomenda"
],
"from": [
"CompraRapida"
]
}
},
{
"_index": "log",
"_type": "travels",
"_id": "tnQsGy4lS0K6uT3Hwzzo-g",
"_score": 1,
"_source": {
"state": "saopaulo",
"date": "2014-10-31T17",
"traveler": "patrick",
"registry": "123123",
"cities": {
"saopaulo": 1,
"curitiba": 1,
"total": 2
},
"reasons": [
"Entrega de encomenda"
],
"from": [
"CompraRapida"
]
}
},
Chcę agregować tablicę cities
, aby dowiedzieć się wszystkich cities
traveler
upadł do. Chcę coś takiego:
{
"traveler":{
"name":"patrick"
},
"cities":{
"saopaulo":2,
"riodejaneiro":2,
"curitiba":1,
"total":3
}
}
Jeżeli total
jest długość tablicy minus 1. Próbowałem agregację warunkach oraz sumę cities
, ale nie mógł wyjście pożądany wynik.
Zmiany w strukturze dokumentu mogą być dokonane, więc gdyby coś takiego pomogło mi, byłbym zadowolony.
Czy masz mapowanie dla tego indeksu, który możesz udostępnić? –