Hello everyone,
I've a query which returns response in 3k-4k ms. When i remove top_hits aggregations it reduces to 60-70 ms. Why is top_hits aggregation so slow? How can i speed up my query? Is there any alternative to top_hits aggregation?
That's my query btw:
POST payments/_search?size=0
{
"query": {
"bool": {
"must": [
{"term": {
"currency.keyword": {
"value": "EUR"
}
}
},
{
"range": {
"@timestamp": {
"gte": "2019-01-01",
"lte": "2019-01-07"
}
}
}
]
}
},
"aggs": {
"date_his": {
"date_histogram": {
"field": "@timestamp",
"fixed_interval": "1m"
},
"aggs": {
"volume": {
"sum": {
"field": "price"
}
},
"max_price": {
"max": {
"field": "price"
}
},
"min_price": {
"min": {
"field": "price"
}
},
"first":{
"top_hits": {
"size": 1,
"sort": [{"@timestamp":{"order":"asc"}}],
"_source": {"includes": "price"}
}
},
"last": {
"top_hits": {
"size": 1,
"sort": [{"@timestamp": {"order":"desc"}}],
"_source": {"includes": "price"}
}
}
}
}
}
}