Как увеличить offset для elasticsearch?

160
17 апреля 2022, 18:10

Эластик имеет настройку index.max-result-window по дефолту равную 10000, поэтому при запросе с offset > 10000, я получаю ошибку. Погуглил проблему, есть разные варианты решений: увеличить index.max-result-window, использовать scroll или search_after но я запрашиваю из эластика не более 100 элементов, поэтому вопрос - что лучше использовать, если offset может быть большим, но количество запрашиваемых документов небольшое?

Answer 1

Категорически не рекомендую в качестве решения использовать index.max-result-window, это чревато большим потреблением памяти и снижением производительности. Если вы реализуете пагинацию, то используйте search_after. scroll так же не рекомендую использовать для глубоких запросов (охватывающий более 10000 элементов), к тому же после его использования его надо удалять (по идентификатору скролла) и он может со временем протухнуть. Если же задача заключается в другом, то советую вам пересмотреть свой подход к индексированию, таким образом, чтобы при каком либо запросе не пришлось так глубоко опускать в глубь. К примеру, разбить индексы на какие-либо группу (по дням, месяцам, типам) исходя из ваших бизнес кейсов.

READ ALSO
Возможно ли отправить в БД тип данных object?

Возможно ли отправить в БД тип данных object?

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

138
Значение из строки n, столбца m DataGrid записать в переменную

Значение из строки n, столбца m DataGrid записать в переменную

Есть DataGrid, в одном из столбцов всегда хранится одно и то же числовое значениеКак это самое значение записать в переменную типа int? Знаю, что...

193