弹性搜索聚合器价格范围从0到0

时间:2017-12-19 04:20:30

标签: elasticsearch

我正在使用弹性搜索聚合器查询来获取基于价格范围的可用产品列表。

这是我的聚合器查询的样子:

'aggs': {
            'prices': {
                'range': {
                    'field': 'price',
                    'ranges': [
                        {'from': 0, 'to': 0},
                        {'to': 4.99},
                        {'from': 5, 'to': 9.99},
                        {'from': 10}
                    ]
                }
            }
        }

我想获得免费的产品数量,所以我的范围从0到0.但这并不起作用。其余的范围工作正常。如何以0的价格获得奖励?

1 个答案:

答案 0 :(得分:3)

引自Range Aggregations

  

请注意,此汇总includes from值和excludes to   每个范围的价值。

因此,范围汇总excludes您输入的to值。这就是为什么你没有得到任何文件0-0

同样,如果您已经给出from: 0, to: 1,则这意味着0≤值<0的桶。 1。并且对于from: 0, to: 0意味着桶的0≤值&lt; 0,不包括0

<强>解决方案

但是,如果您希望使用0获取range aggregation值,那么您可以设置范围from: 0, to: 0.000000001。此处to值是一个大于0的最小值(您可以设置应用程序的最小值)。