Elasticsearch java api:如何像在 dsl 中使用 _source:[] 那样定义字段

Elasticsearch java api: how to define fields as you would with _source:[] in dsl

在 dsl 中,我使用 _source:[] 来定义我想要在响应中返回的字段:

{
    "size":100,
    "_source": [ "field1", "field2", "field3", "field4" ]
}

但我无法通过 Java API Transport Client 解决这个问题。以下是我用来构造和调用查询的内容,所以我不确定要使用什么。

SearchResponse sr = mysvc.getClient().prepareSearch(index)
     .setSize(size)
     .setQuery(getBoolQuery())
     .addAggregation(getAggregationBuilder())
     .execute()
     .actionGet()

有一个 .setSource() 可以在这里使用,但它需要一个 SearchSourceBuilder,我没有任何关于如何使用它的文档。

也许这对您有帮助: