elasticsearch - elasticsearch date_histogram 会检查间隔内的日期是否存在?如果是这样,会发生什么?如果对此没有任何错误处理
问题描述
到目前为止,我正在研究 ES 日期直方图以获得每月结果,我的查询就像
{
"aggs": {
"sales_over_time": {
"date_histogram": {
"field": "date",
"calendar_interval": "1M",
"offset": Cutoff
}
}
}
}
回报就像
date
1 10978.521 2020-11-20 5995.69
2 11177.911 2020-12-20 199.39
3 11177.911 2021-01-20 0.00
所以我的问题是:如果日期“20”不存在怎么办?以及来自 ES 的任何错误处理?谢谢
杰夫
解决方案
由于它是每月日期直方图,因此每个存储桶都必须有一个日期键。该日期键是每月存储桶开始的日期。例如,2020-11-20
是键和从该日期开始的存储桶的开始日期。在该存储桶中,您将找到日期介于2020-11-20
和之间的所有文档2020-12-20
。
对于从 开始的最后一个存储桶也是如此2021-01-20
,它将包含从该日期开始并经过的所有文档2021-02-20
。您是否拥有日期字段专门针对这些存储桶关键日期的文档并不重要,这些键只是间隔界限。
推荐阅读
- python - 将数据框中的特定列(包含)除以另一个数据框
- ios - AVPlayer 无法正常工作
- angular - 如何解决 Angular 8 解析器中的“NullInjectorError:StaticInjectorError”
- docusignapi - 有没有办法修复这个 cURL SSL 错误?
- javascript - 如何从 MySQL DB 渲染(反应)图像?
- python - 如何在不使用括号的情况下调用 Python 部分?
- cloudinary - 总是出错:在签名上传 Cloudinary Widget 时上传签名错误
- java - 使用单独的线程池而不是公共池有什么缺点吗?
- matplotlib - 如何从列表列表中为直方图设置动画
- postgresql - 解决死锁:并发事务调用存储函数插入/更新表