=======update here ====
i changed data_list to be nested and in mapping i set type to be `object'.
the following is my new aggregation query:
"aggs":
{
"data_result": {
"nested": {
"path": "data_list"
},
"aggs": {
"id": {
"terms": {"field":"data_list.id"},
"aggs":{
"values": {
"reverse_nested": {},
"aggs": {
"value_item": {
"terms": {
"field": "data_list.value"
}
}
}
}
}
}
}
}
}
but i got empty `values` bucket
=========================the following is original question ==================== i am trying to get aggregation result from Elasticsearch. My data structure is as following:
DOC 1:
"data_list": [
{
"id": 1,
"name": "a",
"value": "a_value1"
},
{
"id": 2,
"name": "b",
"value": "b_value1"
}
]
DOC 2:
"data_list": [
{
"id": 1,
"name": "a",
"value": "a_value2"
},
{
"id": 2,
"name": "b",
"value": "b_value2"
}
]
My elasticsearch query is :
"aggs": {
"data_result" : {
"terms" : {"field" : "data_list.id"} ,
"aggs": {
"values": {
"terms": {"field": "data_list.value"}
}
}
}
}
what i want is to get a result as following:
"aggregations": {
...
"data_result": {
"buckets": [
{
"key": 1,
"values": ["a_value1","a_value2"]
},
{
"key": 2,
"values": ["b_value1","b_value2"]
},
]
}
}
but what i got is :
"buckets": [
{
"key": 1,
"values": ["a_value1","a_value2","b_value1","b_value2"]
},
{
"key": 2,
"values": ["a_value1","a_value2","b_value1","b_value2"]
}
]
does anyone has any idea how should i change aggregation query?
data_listasnested. the default type isobject.