Hi, I'm running this query
GET assignment/_search?size=0
{
"query": {
"bool": {
"must": [
{
"term": {
"user_post": "post"
}
},
{
"nested": {
"path": "box",
"query": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
}
}
]
}
},
"aggs": {
"objects": {
"terms": {
"field": "_id"
},
"aggs": {
"box": {
"nested": {
"path": "box"
},
"aggs": {
"box_counts": {
"value_count": {
"field": "box.box_id"
}
}
}
}
}
}
}
}
and i'm getting this result
"aggregations" : {
"objects" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [
{
"key" : "1_7",
"doc_count" : 1,
"box" : {
"doc_count" : 1,
"box_counts" : {
"value" : 1
}
}
},
{
"key" : "2_8",
"doc_count" : 1,
"box" : {
"doc_count" : 1,
"box_counts" : {
"value" : 1
}
}
},
{
"key" : "3_19",
"doc_count" : 1,
"box" : {
"doc_count" : 1,
"box_counts" : {
"value" : 2
}
}
},
{
"key" : "3_9",
"doc_count" : 1,
"box" : {
"doc_count" : 1,
"box_counts" : {
"value" : 1
}
}
},
{
"key" : "4_10",
"doc_count" : 1,
"box" : {
"doc_count" : 1,
"box_counts" : {
"value" : 1
}
}
}
]
}
}
}
i want the buckets having box_counts.value >= 2. To achieve this i'm trying to use bucket selector and the query becomes
GET assignment/_search?size=0
{
"query": {
"bool": {
"must": [
{
"term": {
"user_post": "post"
}
},
{
"nested": {
"path": "box",
"query": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
}
}
]
}
},
"aggs": {
"objects": {
"terms": {
"field": "_id"
},
"aggs": {
"box": {
"nested": {
"path": "box"
},
"aggs": {
"box_counts": {
"value_count": {
"field": "box.box_id"
}
},
"boxes_filter": {
"bucket_selector": {
"buckets_path": {
"required_value": "box_counts"
},
"script": "required_value >= 2"
}
}
}
}
}
}
}
}
and this results in error with the following message
{
"error": {
"root_cause": [],
"type": "search_phase_execution_exception",
"reason": "",
"phase": "fetch",
"grouped": true,
"failed_shards": [],
"caused_by": {
"type": "class_cast_exception",
"reason": "class org.elasticsearch.search.aggregations.bucket.nested.InternalNested cannot be cast to class org.elasticsearch.search.aggregations.InternalMultiBucketAggregation (org.elasticsearch.search.aggregations.bucket.nested.InternalNested and org.elasticsearch.search.aggregations.InternalMultiBucketAggregation are in unnamed module of loader 'app')"
}
},
"status": 503
}
kindly help me to achieve the goal