首页 > 解决方案 > 获取 Elasticsearch 索引的所有条目的可靠方法是什么(在带有 Rest 客户端的 Java 中)

问题描述

据我了解,服务器及其 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 或其他值。

这在我看来有点不可靠,因为当我尝试查询下一个“from-to”页面时,可能会删除或添加很多条目。

无论结果集有多大,有没有办法一次获得所有结果?

(暗示服务器将使用某种流式方式来提供长结果集而不会出现内存不足)

标签: elasticsearchelasticsearch-java-api

解决方案


推荐阅读