日期范围聚合(Date Range Aggregation)
用于日期值的范围聚合。此聚合和正常range(范围)聚合的主要区别在于可以用Date Math(日期数学)表达式来表示from和to的值,并且还可以指定返回 from 和 to 响应字段的日期格式。注意,此聚合包含 from 值,但是不包含 to 值。
例子:
#1 <现在减去10个月,向下舍入到月初
#2 >=现在减去10个月,向下舍入到月初
上面的例子,我们创建了两个范围buckets(区间),第一个将“bucket”的所有文件在10个月前,而第二个将“bucket”所有的文件都是10个月前的
结果:
Date Format/Pattern (日期格式)
这些信息是从JodaDate复制过来的
所有ASCII字母都保留为格式模式字母,定义如下:
符号 | 含义 | Presentation | 范例 |
G | era | text | AD |
C | century of era (>=0) | number | 20 |
Y | year of era (>=0) | year | 1996 |
x | weekyear | year | 1996 |
w | week of weekyear | number | 27 |
e | day of week | number | 2 |
E | day of week | text | Tuesday; Tue |
y | year | year | 1996 |
D | day of year | number | 189 |
M | month of year | month | July; Jul; 07 |
d | day of month | number | 10 |
a | halfday of day | text | PM |
K | hour of halfday (0~11) | number | 0 |
h | clockhour of halfday (1~12) | number | 12 |
H | hour of day (0~23) | number | 0 |
k | clockhour of day (1~24) | number | 24 |
m | minute of hour | number | 30 |
s | second of minute | number | 55 |
S | fraction of second | number | 978 |
z | time zone | text | Pacific Standard Time; PST |
Z | time zone offset/id | zone | -0800; -08:00; America/Los_Angeles |
' | escape for text | delimiter | '' |
模式字母的数量决定了格式
Text
如果模式字母的数量是4或更多,则使用完整的形式,否则,如果有的话,使用简短或缩写形式。
Number
Year
Month
Zone
Zone names
任何不在[a..z]和[A..Z]范围内的字符都将被视为引用的文本。 例如,像:,。,','#和? 即使它们不包含在单引号内,也会出现在生成的时间文本中。
Time zone in date range aggregations(日期范围聚合中的时区)
可以通过指定time_zone参数将日期从另一个时区转换为UTC。
时区可以被指定为ISO 8601 UTC偏移量(例如+01:00或-08:00),也可以指定为TZ数据库的时区ID之一。
time_zone参数也适用于日期数学表达式中的舍入。 例如,要在CET时区开始一天的开始,您可以执行以下操作:
#1 这个日期将改为2016-02-15t00:00 + 01:00
#2 now/d 将在CET时区四舍五入到一天的开始
Keyed Response
将 keyed 标志设置为 true ,会将唯一的key与每个bucket关联起来,并将范围作为散列而不是数组返回
结果:
也可以为每个区间自定义key
响应结果:
Last updated