I am trying to do aggregation over the following document
{
"pid": 900000,
"mid": 9000,
"cid": 90,
"bid": 1000,
"gmv": 1000000,
"vol": 200,
"data": [
{
"date": "25-11-2018",
"gmv": 100000,
"vol": 20
},
{
"date": "24-11-2018",
"gmv": 100000,
"vol": 20
},
{
"date": "23-11-2018",
"gmv": 100000,
"vol": 20
}
]
}
The analysis which needs to be done here is:
- Filter on mid or/and cid on all documents
- Filter range on data.date for last 7 days and sum data.vol over that range for each pid
- sort the documents over the sum obtained in previous step in desc order
- Group these results by pid.
This means we are trying to get top products by sum of the volume (quantity sold) within a date range for specific cid/mid.
PID here refers product ID, MID refers here merchant ID, CID refers here category ID
dataofnestedtype)?{ "mappings": {"_doc": {"properties": {"pid": {"type": "integer"}, "mid": {"type": "integer"}, "cid": {"type": "integer"}, "bid": {"type": "integer"}, "gmv": {"type": "integer"}, "vol": {"type": "integer"}, "data": {"properties": {"date": {"type": "date", "format": "yyyy-MM-dd"}, "gmv": {"type": "integer"}, "vol": {"type": "integer"} } } } } } }