Вы можете использовать агрегацию с фильтрами , чтобы получить время, и, используя результаты, выполнить второй запрос для извлечения документов.
Первый запрос для получения релевантного времени
"size" : 0,
"aggs" : {
"relevant_time": {
"filter": {
"bool": {
"must": [
{
"match": {
"unit": "some-unit"
}
}
]
}
},
"aggs": {
"filterd_time": {
"terms": {
"field": "time"
}
}
}
}
}
Для второго запроса Выполните итерацию по возвращаемым сегментам и используйте значение allow_time в запросе termполучить весь документ (ы).