# Elasticsearch multi date range aggregation using java api

**URL:** <https://discuss.elastic.co/t/elasticsearch-multi-date-range-aggregation-using-java-api/46139>\
**Category:** Elasticsearch\
**Created:** [April 2, 2016, 4:00pm UTC](https://discuss.elastic.co/t/elasticsearch-multi-date-range-aggregation-using-java-api/46139 "2016-04-02T16:00:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![gpong](https://avatars.discourse-cdn.com/v4/letter/g/d6d6ee/32.png) [@gpong](https://discuss.elastic.co/u/gpong)\
**Post date:** [April 2, 2016, 4:00pm UTC](https://discuss.elastic.co/t/elasticsearch-multi-date-range-aggregation-using-java-api/46139/1 "2016-04-02T16:00:51Z")

</div>

Hi Guys,  
I use elasticsearch 2.2 and I want to do some aggregations like this sample using java api.  
Here is my query:

```
{  
   "bool":{  
      "must":[  
         {  
            "query_string":{  
               "default_field":"berid",
               "query":"F600-HHP1"
            }
         },
         {  
            "query_string":{  
               "default_field":"matnr",
               "query":"91P9289AAZZ"
            }
            }
         ]

   },
   "size":0,
   "aggs":{  
      "count_by_date_range":{  
         "date_range":{  
            "field":"zzupload",
            "ranges":[  
               {  
                  "from":"2016-03-01",
                  "to":"2016-03-06"
               },
               {  
                  "from":"2016-03-07",
                  "to":"2016-03-13"
               },
               {  
                  "from":"2016-03-14",
                  "to":"2016-03-20"
               },
               {  
                  "from":"2016-03-21",
                  "to":"2016-03-27"
               },
               {  
                  "from":"2016-03-28",
                  "to":"2016-04-03"
               },
               {  
                  "from":"2016-04-04",
                  "to":"2016-04-10"
               },
               {  
                  "from":"2016-04-11",
                  "to":"2016-04-17"
               },
               {  
                  "from":"2016-04-18",
                  "to":"2016-04-24"
               },
               {  
                  "from":"2016-04-25",
                  "to":"2016-05-01"
               },
               {  
                  "from":"2016-05-02",
                  "to":"2016-05-08"
               },
               {  
                  "from":"2016-05-09",
                  "to":"2016-05-15"
               },
               {  
                  "from":"2016-05-16",
                  "to":"2016-05-22"
               },
               {  
                  "from":"2016-05-23",
                  "to":"2016-05-29"
               },
               {  
                  "from":"2016-05-30",
                  "to":"2016-06-05"
               },
               {  
                  "from":"2016-06-06",
                  "to":"2016-06-12"
               },
               {  
                  "from":"2016-06-13",
                  "to":"2016-06-19"
               }
            ]
         },
         "aggs":{  
            "total_fcst_qty":{  
               "sum":{  
                  "field":"zzamqtu"
               }
            }
         }
      }
   }
}

```

I need to calculate the sum of quantity on date range("from":"2016-03-01", "to":"2016-03-06", ...).But it's look like elasticsearch java api didn't support multi date\_range.Here is my code:

```
    SearchRequestBuilder searchBuilder = esClient.prepareSearch(Elasticsearch_sap_material_fcst_Index)
    .setTypes(Elasticsearch_material_fcst_Type)
    .setQuery(sb.toString())
    .addAggregation(AggregationBuilders.dateRange("count_by_date_range").field("zzupload")
            .addRange("2016-03-01", "2016-03-06")
            .subAggregation(AggregationBuilders.sum("total_fcst_qty")));

```

How to calculate multiple date range using java api?  
Thanks

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:02pm UTC](https://discuss.elastic.co/t/elasticsearch-multi-date-range-aggregation-using-java-api/46139/2 "2017-07-05T23:02:58Z")

</div>


