这是我在漫威意义上的代码
GET /sweet/cake/_search
{
"query": {
"bool": {
"must": [
{"term": {
"code":"18"
}}
]
}
},
"size": 0,
"aggs": {
"group_by_state": {
"terms": {
"field": "id"
}
}
}
}
我想用Java写它,但我不知道怎么写。
发布于 2015-11-26 14:15:02
您可以在Java的正式文件中找到一些示例。
但在您的示例中,您需要使用bool/must
创建一个QueryBuilders
查询,并使用AggregationBuilders
创建一个terms
聚合。事情是这样的:
// build the query
BoolQueryBuilder query = QueryBuilders.boolFilter()
.must(QueryBuilders.termFilter("code", "18"));
// build the terms sub-aggregation
TermsAggregation stateAgg = AggregationBuilders.terms("group_by_state")
.field("id");
SearchResponse resp = client.prepareSearch("sweet")
.setType("cake")
.setQuery(query)
.setSize(0)
.addAggregation(stateAgg)
.execute()
.actionGet();
https://stackoverflow.com/questions/33940555
复制相似问题