Если вы группируете документы по часам, то для каждого интервала вы уже знаете, сколько будет результатов.
В указанном интервале (28-08-2018 - 15-09-2018) между ними 432 часа, поэтому вы знаете, что будет 432 результата. Теперь предположим, что вы хотите показывать 8 результатов на странице, то есть будет 54 страницы, где каждая страница будет содержать результаты из 8-часового окна:
1-я страница - 28-08-2018 00: 00: 00 (1535410800000) - 28-08-2018 08: 00: 00 (1535410800000 + 8 * 3600000)
поэтому ваш запрос агрегирования для первой страницы должен выглядеть следующим образом:
...
"range": {
"createdtime": {
"gte": "1535410800000",
"lt": "1535439600000",
"boost": 2.0
}
}
...
2-я страница: 28-08-2018 08: 00: 00 (1535410800000 + 8 * 3600000) - 28-08-2018 16: 00: 00 (1535410800000 + 16 * 3600000)
...
"range": {
"createdtime": {
"gte": "1535439600000",
"lt": "1535468400000",
"boost": 2.0
}
}
...
и т. Д., Вы просто сузите свою агрегацию на основе createtime , и это будет возвращать результаты для конкретной страницы.