elasticsearch对某段时间范围内按时间间隔进行统计
{
"query" : {
"constant_score" : {
"filter" : {
"range" : {
"@timestamp" : {
"gte" : 1490112000000,//或者"gt": "now-2m", "lt": "now"
"lte" : 1490113000000
}
}
}
}
},
"aggs" : {
"by_time" : {
"date_histogram" : {
"field" : "@timestamp",
"interval" : "5s"
}
}
}
}
或者写成类似如下格式
{ "size" : 0, "query":{ "match": { "make": "ford" } }, "aggs":{ "recent_sales": { "filter": { "range": { "sold": { "from": "now-1M" } } }, "aggs": { "average_price":{ "avg": { "field": "price" } } } } } }
按给定时间范围,2个字段联合aggs查询
{ "size" : 0, "query" : { "constant_score" : { "filter" : { "range" : { "@timestamp" : { "gte" : 1490175000000, "lte" : 1490185000000 } } } } }, "aggs" : { "group_by_state" : { "terms" : { "field" : "client_id.keyword" }, "aggs" : { "group_by_code" : { "terms" : { "field" : "message_json.code" } } } } } }
总结:聚合API的调用格式
"aggregations" : { // 表示聚合操作,可以使用aggs替代 "<aggregation_name>" : { // 聚合名,可以是任意的字符串。用做响应的key,便于快速取得正确的响应数据。 "<aggregation_type>" : { // 聚合类别,就是各种类型的聚合,如min等 <aggregation_body> // 聚合体,不同的聚合有不同的body } [,"aggregations" : { [<sub_aggregation>]+ } ]? // 嵌套的子聚合,可以有0或多个 } [,"<aggregation_name_2>" : { ... } ]* // 另外的聚合,可以有0或多个 也可以嵌套query和filter }
相关博客文档:
Logstash+ElasticSearch处理mysql慢查询日志
8.ElasticSearch预警服务-Watcher详解-监控Marvel数据
Filter Bucket https://www.elastic.co/guide/en/elasticsearch/guide/master/_filter_bucket.html
分类:
elasticsearch
标签:
elasticsearch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构