SELECT domain_name,http_port,DATE_FORMAT(happenTime, '%Y-%m-%d'),SUM(ll) / (1024 * 1024) AS ll, SUM(llsd) / (1024 * 1024) AS llsd, SUM(cksj) / (1024 * 1024) AS cksj FROM video_traffic_record t group by domain_name,http_port,DATE_FORMAT(happenTime, '%Y-%m-%d')用elasticsearch怎么写?
时间: 2024-03-06 22:51:43 浏览: 23
在 Elasticsearch 中,我们需要使用聚合(aggregation)来完成类似于 SQL 中的 group by 操作。以下是将该 SQL 查询转换为 Elasticsearch 查询的示例:
```
POST /video_traffic_record/_search
{
"size": 0,
"query": {
"match_all": {}
},
"aggs": {
"domain_http_date": {
"terms": {
"field": "domain_name.keyword"
},
"aggs": {
"http_port": {
"terms": {
"field": "http_port"
},
"aggs": {
"date": {
"date_histogram": {
"field": "happenTime",
"calendar_interval": "day",
"format": "yyyy-MM-dd"
},
"aggs": {
"ll": {
"sum": {
"field": "ll"
}
},
"llsd": {
"sum": {
"field": "llsd"
}
},
"cksj": {
"sum": {
"field": "cksj"
}
}
}
}
}
}
}
}
}
}
```
这个聚合查询首先按照 `domain_name` 进行分组,然后再按照 `http_port` 进行分组,最后按照日期进行分组。在每个日期的桶(bucket)中,我们使用 `sum` 聚合计算 `ll`、`llsd` 和 `cksj` 字段的总和,并使用 `terms` 聚合在每个分组中返回相应的值。
注意,我们在 `domain_name` 上使用了 `.keyword` 后缀,这是因为该字段可能是一个文本字段,如果不使用 `.keyword`,则 Elasticsearch 会将其视为一个 text 类型字段并在聚合时进行分词,这可能会导致错误的结果。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)