再搜索中我们通常会碰到这样的需求,根据时间段对文档做个统计,作为筛选条件

这时候就要通过聚合操作来实现 即elasticsearch aggregation date range
索引库里有7万多数据,现在根据modifytime 聚合

再kibana 中写dsl 语句
POST newaeko/_search
{
"aggs": {
"range": {
"date_range": {
"field": "modifytime",
"ranges": [
{
"key": "半年内",
"from": "now-6M/M",
"to": "now"
},
{
"key": "一年内",
"from": "now-12M/M",
"to": "now"
},
{
"key": "2年内",
"from": "now-2y/y",
"to": "now"
}
]
}
}
}
}
执行结果:

数量全都聚合出来了
多字段聚合:类似于下图的需求

{
"aggs": {
"range": {
"date_range": {
"field": "modifytime",
"ranges": [
{
"key": "半年内",
"from": "now-6M/M",
"to": "now"
},
{
"key": "一年内",
"from": "now-12M/M",
"to": "now"
},
{
"key": "2年内",
"from": "now-2y/y",
"to": "now"
}
]
}
},
"author":{
"terms": {
"field": "author",
"size": 10
}
}
}
}
结果:



。。。
本文详细介绍如何使用Elasticsearch的日期范围聚合功能,对大量数据按修改时间进行区间划分,实现高效的数据筛选与统计。并通过Kibana展示DSL语句的编写方法,包括单字段与多字段的聚合操作。

5639

被折叠的 条评论
为什么被折叠?



