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")
    };

在这种情况下,我们无法利用从 stringTime(然后 TimeUnion<DateInterval,Time>)的隐式转换,因为没有从字符串到 Union<DateInterval, Time> 的隐式转换。在这种情况下,我们可以只使用 Time 构造函数并向其传递一个字符串值 1.5 小时,并将 Time 的这个实例分配给间隔。