ElasticSearch 聚合查询语句 histogram 时序图例子
Posted 请叫我大师兄_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch 聚合查询语句 histogram 时序图例子相关的知识,希望对你有一定的参考价值。
在es中按照时间字段,以2分钟为时间粒度,也就是把2分钟数据统计一下交易量,然后统计一整天的数据量,最后用这数据做个时序图。
ES的查询语句:
{
"size":0,
"query":{
"bool":{
"must":[
{
"bool":{
"must":[
{
"term":{
"tag.keyword":{
"value":"DB",
"boost":1
}
}
},
{
"term":{
"dataID.keyword":{
"value":"b5bb9e39-59c7-46fb-b380-e621a21fd7d5",
"boost":1
}
}
},
{
"range":{
"time":{
"from":1636473600000,
"to":1636646400000,
"include_lower":true,
"include_upper":false,
"boost":1
}
}
}
],
"disable_coord":false,
"adjust_pure_negative":true,
"boost":1
}
}
],
"disable_coord":false,
"adjust_pure_negative":true,
"boost":1
}
},
"aggregations":{
"time_xxx":{
"histogram":{
"field":"time",
"interval":120000,
"offset":0,
"order":{
"_key":"asc"
},
"keyed":false,
"min_doc_count":0
}
}
}
}
实际查询结果截图:
简要说明:
这个数据里面的时间字段是time,是毫秒级别的,时间粒度是2分钟,间隔就是120000,还有就是在加过滤条件的时候,数据的key,可能需要加上keyword,即xxx.keyword,才管用,这个估计和es的mapping模版有关系。 查询语句的限制条件就在term term range 那一级仿照着加就行。
我这留个备忘录,以备不时之需。
以上是关于ElasticSearch 聚合查询语句 histogram 时序图例子的主要内容,如果未能解决你的问题,请参考以下文章
ElasticSearch的高级复杂查询:非聚合查询和聚合查询