elasticsearch分布式搜索查询语句(实例)

传统的关系型数据库,每当进行复杂的条件查询或者排序的时候 往往性能表现就比较糟糕。而一些nosql数据库在一些需要进行各类复杂条件查询和排序统计的时候,经常能让人眼前一亮,这里强烈推荐分布式搜索引擎Elasticsearch,他不仅能方便的进行水平扩展,而且提供的各类查询、统计功能非常丰富,由于内部的算法和架构优化,它的性能非常高。

很多公司都用它部分的替代了传统数据库的功能,这里用一条查询语句满足以下一个需求

需求:假如在es中存储了一些文章的访问记录,每一条记录包含的信息是:文章id,当日的年月日,当日该文章的访问次数等信息

现在要求用一条查询语句返回如下结果:

在某个时间区间内,所有的活动,每个活动的总的访问量:


http://192.168.0.25:2526/news/article/_search?source={
"size":0,
"query":{
"bool":{
"must":[{"range":{"visit_date":{"gte":"20160907","lt":"20160909"}}}]
}
},
"aggs":{
"top_event":{
"terms":{
"field":"visit_eid",
"order":{"top_sum":"desc"},
"size":100
},
"aggs":{
"top_sum":{
"sum":{"field":"visit_num"}
}
}
}
}
}
&pretty

你可能感兴趣的:(elasticsearch分布式搜索查询语句(实例))