elasticsearch统计数量

相关标签: # java# scala# java
Elasticsearch根据条件统计结果数量
post ip:port/index/type/_search
{
"from": 0,
"size": 0,
"query": {
"bool": {
"must": [{
"match_phrase": {
"name": {
"query": "aaaa",
"slop": 0,
"boost": 1
}
}
},
{
"range": {
"startTime": {
"from": 1661616000391,
"to": null,
"include_lower": true,
"include_upper": true,
"boost": 1
}
}
}
]
}
},
"_source": {
"includes": [
"COUNT"
],
"excludes": []
},
"aggregations": {
"COUNT(*)": {
"value_count": {
"field": "_index"
}
}
}
}
java代码:
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
AggregationBuilder sumAggregationBuilder = AggregationBuilders.count("count").field("_index");
sourceBuilder.aggregation(sumAggregationBuilder);
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
//查询条件
queryBuilder.must(QueryBuilders.matchPhraseQuery("name.keyword",name));
queryBuilder.must(QueryBuilders.rangeQuery("startTime").gte(startTime));
//设置条件和结果数量
sourceBuilder.query(queryBuilder).from(0).size(0);
//查询索引对象
SearchRequest searchRequest = new SearchRequest(index).types(type).source(sourceBuilder);
//不同版本请求ES的方式不一样
SearchResponse response = client.search(searchRequest).actionGet();
SearchResponse response = client.getClient().search(rq,RequestOptions.DEFAULT);
//返回结果
long total = response.getHits().getTotalHits();
文章来源: https://blog.51cto.com/u_15261296/5940329
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报