Какой надежный способ получить все записи индекса Elasticsearch (в Java с клиентом Rest)
Насколько я понимаю, сервер и его клиент Java Highlevel Rest заставляют меня использовать подкачку при получении длинных наборов:
_query = QueryBuilders.matchAllQuery();
SearchRequest sr = new SearchRequest(_index);
SearchSourceBuilder ssb = new SearchSourceBuilder();
ssb.from(_from);
ssb.size(_count);
ssb.query(_query);
sr.source(ssb);
SearchResponse response;
try {
response = Factory.DB.search(sr);
Так что, если я опущу size
, он вернется к значению по умолчанию 10 или что-то.
Это кажется мне немного ненадежным, потому что, когда я пытаюсь запросить следующую страницу "от-до", многие записи могут быть удалены или добавлены.
Есть ли способ получить все результаты одновременно, независимо от того, насколько велик набор результатов?
(подразумевается, что сервер будет использовать какой-то потоковый способ для обслуживания длинного набора результатов без нехватки памяти)