5
elasticsearch统计数量
source link: https://blog.51cto.com/u_15261296/5940329
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
elasticsearch统计数量
精选 原创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"
}
}
}
}
{
"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();
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();
- 打赏
- 赞
- 收藏
- 评论
- 分享
- 举报
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK