виртуальный свиток сasticsearch - PullRequest
0 голосов
/ 09 июля 2019

Я использую эластичный поиск и сетку кендо-интерфейса.Теперь я переключаюсь с бесконечной прокрутки на виртуальную прокрутку.В данный момент я использую Scroll Api вasticsearch, но не могу контролировать диапазон для моего запроса.

Есть ли способ получить сеанс как в свитке, куда я мог бы отправить from и size?Или есть лучший способ справиться с этим?

1 Ответ

0 голосов
/ 09 июля 2019

Используйте параметр search_after в поисковом запросе.

search_after можно использовать при сортировке документов по одному или нескольким полям.В параметре search_after вы задаете значения для полей, которые должны быть выше для всех извлеченных документов.

Если у вас есть, например, числовое поле document_position со значениями от 0 до 1000. Чтобы получить документысо значениями document_position выше 200 вы используете следующий запрос:

{
    "query": { // your query },
    "sort": "document_position",
    "search_after": [200]
}

Вы можете использовать значение score в параметре поиска после, но помните, что по умолчанию оценка ненеобходимая согласованность между поисковым запросом .Документация представляет решение этой проблемы.Если вы используете score (или любое другое поле, которое не является уникальным для всех документов), вам также придется отсортировать по второму полю, которое должно быть уникальным для всех документов.

...