NEST (2.x) 具有小数区间值的日期直方图聚合
NEST (2.x) Date Histogram Aggregation with fractional interval values
我正在使用 NEST (2.3.3) 对象初始值设定项语法来创建日期直方图聚合。如何指定间隔的小数值?
DateHistogramAggregation dateHistogram =
new DateHistogramAggregation("dateHistogram")
{
Field = "TimestampFieldName",
Interval = DateInterval.Hour
}
在上面的数据直方图聚合中,我想指定例如 1.5 小时。有什么办法可以做到吗?
Interval
是一个 Union<DateInterval, Time>
,这意味着它可以采用 DateInterval
枚举值或 Time
实例。此外,字符串可以隐式转换为 Time
的实例。将这些放在一起,设置 1.5 小时的间隔将是
DateHistogramAggregation dateHistogram =
new DateHistogramAggregation("dateHistogram")
{
Field = "TimestampFieldName",
Interval = new Time("1.5h")
};
在这种情况下,我们无法利用从 string
到 Time
(然后 Time
到 Union<DateInterval,Time>
)的隐式转换,因为没有从字符串到 Union<DateInterval, Time>
的隐式转换。在这种情况下,我们可以只使用 Time
构造函数并向其传递一个字符串值 1.5 小时,并将 Time
的这个实例分配给间隔。
我正在使用 NEST (2.3.3) 对象初始值设定项语法来创建日期直方图聚合。如何指定间隔的小数值?
DateHistogramAggregation dateHistogram =
new DateHistogramAggregation("dateHistogram")
{
Field = "TimestampFieldName",
Interval = DateInterval.Hour
}
在上面的数据直方图聚合中,我想指定例如 1.5 小时。有什么办法可以做到吗?
Interval
是一个 Union<DateInterval, Time>
,这意味着它可以采用 DateInterval
枚举值或 Time
实例。此外,字符串可以隐式转换为 Time
的实例。将这些放在一起,设置 1.5 小时的间隔将是
DateHistogramAggregation dateHistogram =
new DateHistogramAggregation("dateHistogram")
{
Field = "TimestampFieldName",
Interval = new Time("1.5h")
};
在这种情况下,我们无法利用从 string
到 Time
(然后 Time
到 Union<DateInterval,Time>
)的隐式转换,因为没有从字符串到 Union<DateInterval, Time>
的隐式转换。在这种情况下,我们可以只使用 Time
构造函数并向其传递一个字符串值 1.5 小时,并将 Time
的这个实例分配给间隔。