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,我没有任何关于如何使用它的文档。
在 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,我没有任何关于如何使用它的文档。