Какой надежный способ получить все записи индекса 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 или что-то.

Это кажется мне немного ненадежным, потому что, когда я пытаюсь запросить следующую страницу "от-до", многие записи могут быть удалены или добавлены.

Есть ли способ получить все результаты одновременно, независимо от того, насколько велик набор результатов?

(подразумевается, что сервер будет использовать какой-то потоковый способ для обслуживания длинного набора результатов без нехватки памяти)

0 ответов

Другие вопросы по тегам