我正在使用 elasticsearch 日期直方图按一段时间内的计数对响应进行分组。日期直方图方面对此非常有用,但如果一个间隔没有任何响应,它就不会出现在 json 中。我认为解决这个问题的最佳方法是使用 javascript 来填补图表库中的空白。 (理想情况下在 highcharts 但 d3 或其他东西是可能的)。几个月似乎很容易做到,但当我需要按周和按天进行时,它会变得更加复杂。基本上我的问题是:
{ date: April: 5, count: 5 }, { date: June, count: 10 }
需要更像
{ date: April: 5, count: 5 }, {date: May, count: null }, { date: June, count: 10 }
最佳答案
min_doc_count=0
仅在非空桶之间创建间隔。如果您想绘制桶外的空间隔(比数据开始早或晚几个月),请添加 extended_bounds
( docs )。
在 elasticsearch_dsl
中,允许空桶到两年前,这看起来像
A(
"date_histogram",
field="publishedAt",
calendar_interval="month",
format="MMM yyyy",
min_doc_count=0,
extended_bounds={"min": f"{date:%b %Y}||-2y"},
),
关于javascript - 绘制 Elasticsearch 日期直方图的空间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16737645/