带聚合的searchkick(elasticsearch)直方图-扩展边界

kcugc4gi  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(1)|浏览(446)

我正在rails应用程序中使用searchkick gem访问elasticsearch数据。我使用聚合功能来显示价格直方图;正文选项的相关部分如下所示:

price: {
                histogram: {
                    field: :low_rate,
                    interval: 50
                }
            }

我的问题是,我还需要能够提供一个低过滤率。例如,如果我最初有一个直方图,它的费率范围在50美元到500美元之间,然后我添加到下一个查询中 where low_rate < 300 ,重新计算直方图存储桶,并完全重新绘制图表。但在我的应用程序中,我需要图表仍然显示相同的桶。
这是过滤器上的一个非常常见的行为——请看下面来自airbnb网站的示例,它显示了将上限向下拖动后的图表——因此我希望有人能够提供一些关于如何使用searchkick实现这一点的建议。

nbewdwxp

nbewdwxp1#

如果有帮助的话,我可以帮你做e.s查询。

{
  "size": 0, 
  "aggs": {
    "hist": {
      "histogram": {
        "field": "low_rate",
        "interval": 50,
        "extended_bounds": { // <======= It is used to extend bounds
          "min": 50,      // <========== Specify the min bound
          "max": 500      // <========== Specify the max bound
        },
          "missing":10    // <========== value of the missing docs in the range
      }
    }
  }
}

相关问题