如何解决带有聚合的SearchkickElasticsearch直方图-扩展范围
我正在Rails应用程序中使用searchkick gem来访问Elasticsearch数据。我使用汇总功能显示价格的直方图; body_options的相关部分如下所示:
price: {
histogram: {
field: :low_rate,interval: 50
}
}
我遇到的问题是,我还需要能够对low_rate提供过滤器。因此,例如,如果我最初有一个直方图,其费率范围在$ 50到$ 500之间,并且我添加到下一个查询where low_rate < 300
,则将重新计算直方图存储桶,并完全重绘该图表。但是在我的应用中,我需要图表仍然显示相同的存储桶。
这是过滤器上的一种非常常见的行为-请参见下面的Airbnb网站上的示例,该示例显示了将上限降低后的图表-因此,我希望有人能够提供一些有关如何使用searchkick来实现这一点。
解决方法
如果有帮助,我可以帮助您进行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
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。