Michaels Antwort hat mir geholfen und ist ein schöner Weg, es zu tun. Hier ist, was ich gefunden habe einschließlich aller Teile, die ich verwendet habe, um die Abfrage zu machen und das Ergebnis zu erhalten.
In meinem Fall wollte ich eine Liste von Benutzer-IDs erhalten, die von der Quelle jedes Dokuments im Ergebnis gesammelt wurden.
class DocSource {
private Integer userId;
public Integer getUserId() {
return userId;
}
}
String query = "{\n"
+ " \"_source\": [\n"
+ " \"userId\"\n"
+ " ],\n"
+ " \"query\": {\n"
+ " <some query config here>"
+ " }\n"
+ " }\n"
+ "}";
Search search = new Search.Builder(query)
.addIndex("my-index")
.build();
SearchResult result = jestClient.execute(search);
List<SearchResult.Hit<DocSource, Void>> hits = result.getHits(DocSource.class);
List<Integer> listOfIds = hits.stream()
.map(h -> h.source.getUserId())
.collect(Collectors.toList());