首页 > 解决方案 > 关于`elasticsearchTemplate.stream()`函数elasticsearch数据库中的所有数据

问题描述

为什么我已经在使用.withPageable(new PageRequest(0, 10000),但是elasticsearchTemplate.stream()函数仍然返回elasticsearch数据库中的所有数据。我认为它会返回10000个数据,但它返回所有数据。

标签: elasticsearch

解决方案


public void scrollSearchTest2() {
    SearchQuery searchQuery =
        new NativeSearchQueryBuilder()
            .withQuery(QueryBuilders.boolQuery())
            .withIndices("log-warn-event")
            .withPageable(PageRequest.of(3, 10))
            .build();
    CloseableIterator<Warning> stream = elasticsearchTemplate.stream(searchQuery, Warning.class);

    List<Warning> list = new ArrayList<>();
    while (stream.hasNext()) {
      list.add(stream.next());
    }

    System.out.println("---------------------------------");
    list.forEach(System.out::print);
  }


推荐阅读