为elasticsearch日期直方图绘制一个空区间

can*_*man 5 javascript highcharts elasticsearch d3.js

我正在使用 Elasticsearch 日期直方图按时间计数对响应进行分组。日期直方图方面非常适合此目的,但如果间隔没有任何属于其中的响应,则它不会显示在 json 中。我认为解决这个问题的最佳方法是使用 javascript 来填补图表库中的空白。(理想情况是在 highcharts 中,但 d3 或其他东西也是可能的)。几个月似乎很容易做到,但当我还需要按周和按天进行时,事情就会变得更加复杂。基本上我的问题是:

{ date: April: 5, count: 5 }, { date: June, count: 10 } 
Run Code Online (Sandbox Code Playgroud)

需要更像

{ date: April: 5, count: 5 }, {date: May, count: null }, { date: June, count: 10 }
Run Code Online (Sandbox Code Playgroud)

Nou*_*non 1

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"},
    ),
Run Code Online (Sandbox Code Playgroud)