【发布时间】:2018-01-29 17:12:06
【问题描述】:
这是我在 Kibana 中的代码示例:
get sample/_search
{
"query": {
"match_all": {}
}
}
为了隐私起见,我已将 * 表示为 lat 和 lon,这些数字无论如何都不会产生任何变化。我收到的结果如下:
{
"took": 53,
"timed_out": false,
"num_reduce_phases": 3,
"_shards": {
"total": 1293,
"successful": 1293,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 10937405,
"max_score": 1,
"hits": [
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-55-1470693602000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 0,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 55,
"sampled_on": 1470693602000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-56-1470693602000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 7.436,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 56,
"sampled_on": 1470693602000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-57-1470693602000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 148.538,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 57,
"sampled_on": 1470693602000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-59-1470693602000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 0.196,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 59,
"sampled_on": 1470693602000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-63-1470693708000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 31.3,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 63,
"sampled_on": 1470693708000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-65-1470693708000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 25.6,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 65,
"sampled_on": 1470693708000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-62-1470693708000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 0.255,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 62,
"sampled_on": 1470693708000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-63-1470693809000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 31.3,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 63,
"sampled_on": 1470693809000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-64-1470693809000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 25.9,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 64,
"sampled_on": 1470693809000
}
},
{
"_index": "sample_2016-08-08",
"_type": "sample",
"_id": "18-26-65-1470693809000",
"_score": 1,
"_source": {
"type": "a",
"company": 18,
"value": 25.6,
"equipment": 26,
"state": "",
"location": {
"lat": *,
"lon": *
},
"sensor": 65,
"sampled_on": 1470693809000
}
}
]
}
}
“sampled_on”代表时间。每个“传感器”每隔几秒就会发送一个新的“值”。我想收到以下结果,我希望它出现在 1 个查询中: 对于每个“传感器”,显示它从开始到现在每隔 30 分钟报告的平均“值”。 这是一个例子:
传感器 1
最古老的
...
...
2009 年 1 月 14 日
下午 2:30 - 下午 3:00
平均值:5
...
2012 年 2 月 18 日
凌晨 3:10 - 凌晨 3:40
平均值:4
...
最新的
传感器 2
最古老的
...
...
2011 年 1 月 1 日
下午 5:30 - 下午 6:00
平均值:5
...
2012 年 2 月 3 日
早上 7:20 - 早上 7:50
平均值:4
...
最新的
感谢您的帮助!
【问题讨论】:
-
请显示到目前为止您尝试过的平均查询
标签: elasticsearch kibana