我正在使用弹性搜索聚合器查询来获取基于价格范围的可用产品列表。
这是我的聚合器查询的样子:
'aggs': {
'prices': {
'range': {
'field': 'price',
'ranges': [
{'from': 0, 'to': 0},
{'to': 4.99},
{'from': 5, 'to': 9.99},
{'from': 10}
]
}
}
}
我想获得免费的产品数量,所以我的范围从0到0.但这并不起作用。其余的范围工作正常。如何以0的价格获得奖励?
答案 0 :(得分:3)
请注意,此汇总
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
的最小值(您可以设置应用程序的最小值)。