桶脚本聚合上下文
编辑桶脚本聚合上下文
编辑在 bucket_script
管道聚合中使用 Painless 脚本来计算桶中的结果值。
变量
编辑-
params
(Map
,只读) - 作为查询一部分传入的用户定义参数。这些参数包括定义为
buckets_path
一部分的参数值。
返回值
编辑- 数值型
- 作为结果的计算值。
API
编辑标准的 Painless API 可用。
示例
编辑要运行此示例,请首先按照上下文示例中的步骤操作。
bucket_script
聚合中的 Painless 上下文提供了一个 params
映射。此映射包含用户指定的自定义值,以及在 buckets_path
属性中指定的其他聚合的值。
此示例从最小和最大聚合中获取值,计算差值,并将用户指定的 base_cost 添加到结果中
(params.max - params.min) + params.base_cost
请注意,这些值是从 params
映射中提取的。在上下文中,聚合如下所示
GET /seats/_search { "size": 0, "aggs": { "theatres": { "terms": { "field": "theatre", "size": 10 }, "aggs": { "min_cost": { "min": { "field": "cost" } }, "max_cost": { "max": { "field": "cost" } }, "spread_plus_base": { "bucket_script": { "buckets_path": { "min": "min_cost", "max": "max_cost" }, "script": { "params": { "base_cost": 5 }, "source": "(params.max - params.min) + params.base_cost" } } } } } } }