Почему не работает разбивка на страницы при эластичном поиске?

#node.js #elasticsearch

#node.js #elasticsearch

Вопрос:

Здравствуйте, я пытаюсь настроить разбивку на страницы в эластичном поиске, но это не работает. Возможно, в моем запросе чего-то не хватает. Ниже приведен мой код:

Вот моя функция клиента поиска:

 const esResult = await client.search(
            {
                index: 'products',
                type: '_doc',
                body: {
                    size: size,
                    from: offset,
                    sort: [],
                    track_total_hits: true,
                    query: {
                        "bool": {
                            "filter": filterArray
                        }
                    }
                },
            },
            additionalParams
        );
 

Вот как я вычисляю смещение в зависимости от размера и номера страницы, исходя из параметров запроса

 let size = parseInt(filters.size) || 10;
let pageNumber = parseInt(filters.pageNumber) || 1;
let offset = (pageNumber * size) - size || 0;

// preparing filter query object
let filterArray = formateFiltersArry(filters);
 

Происходит что-то странное, что я замечаю.. Когда я использую числовые значения (константа; скажем, 10) в ключах from и size, поиск клиента () работает нормально. Но когда я беру значения из параметров запроса, в результате документа нет. (Хотя у меня есть консоль.запишите значения: там они в порядке).
С нетерпением ждем,

Комментарии:

1. Разбиение на страницы ES довольно ограничено, рассматривали ли вы возможность использования scroll api вместо этого?