private <T> List<T> getAll(Class<T> clazz, String elasticType) { String query = "{\n" + " \"query\": {\n" + " \"match_all\": {}\n" + " },\n" + " \"size\": " + Integer.MAX_VALUE + "\n" + "}"; SearchResult searchResult = performSearchOnType(query, elasticType); return StreamSupport.stream( Spliterators.spliteratorUnknownSize( searchResult.getHits(clazz).iterator(), Spliterator.ORDERED), false) .map(hitResult -> hitResult.source) .collect(Collectors.toList()); }