Elasticsearch version: 2.3.1
Description of the problem including expected versus actual behavior:
Hi I'm trying to use nested, terms aggregation including empty bucket as search result.
Problem is when I send nested, terms aggregation query with min_doc_count: 0 option, I can't get empty buckets. But when I send not nested terms aggregation, result is same as I expected (it includes empty buckets with value of null or 0).
For example below works well (without nested) :
{
"size":0,
"query":{
"bool":{
"filter":[
{
"range":{
"date":{
"time_zone":"+09:00",
"format":"yyyy-MM-dd",
"gte":"2016-11-01||/d",
"lt":"2016-11-01||+1d/d"
}
}
}
]
}
},
"aggs":{
"item_name":{
"terms":{
"field":"name",
"min_doc_count":0,
"size":0
},
"aggs":{
"price_sum":{
"sum":{
"field":"price"
}
}
}
}
}
}
Above query returns below:
{
"took":1,
"timed_out":false,
"_shards":{
"total":1,
"successful":1,
"failed":0
},
"hits":{
"total":0,
"max_score":0,
"hits":[]
},
"aggregations":{
"name":{
"doc_count_error_upper_bound":0,
"sum_other_doc_count":0,
"buckets":[
{
"key":"key1",
"doc_count":0,
"price_sum":{
"value":0
}
},
{
"key":"key2",
"doc_count":0,
"price_sum":{
"value":0
}
}
]
}
}
}
Now below query is what I'd like to send (aggregation with nested, item.property):
{
"size":0,
"query":{
"bool":{
"filter":[
{
"range":{
"date":{
"time_zone":"+09:00",
"format":"yyyy-MM-dd",
"gte":"2016-11-01||/d",
"lt":"2016-11-01||+1d/d"
}
}
}
]
}
},
"aggs":{
"lines":{
"nested":{
"path":"property"
},
"aggs":{
"property_types":{
"terms":{
"field":"property.type",
"size":0
},
"aggs":{
"some_value_of_property_sum":{
"sum":{
"field":"property.some_value"
}
}
}
}
}
}
}
}
But it returns below :
{
"took":1,
"timed_out":false,
"_shards":{
"total":1,
"successful":1,
"failed":0
},
"hits":{
"total":0,
"max_score":0,
"hits":[]
},
"aggregations":{
"property_types":{
"doc_count":0,
"some_value_of_property_sum":{
"doc_count_error_upper_bound":0,
"sum_other_doc_count":0,
"buckets":[]
}
}
}
}
while I expect below :
"buckets":[
{
"key":"key1",
"doc_count":0,
"some_value_of_property_sum":{
"value":0
}
},
{
"key":"key2",
"doc_count":0,
"some_value_of_property_sum":{
"value":0
}
}
]
What am I doing wrong?