我需要一种方法来创建一个转换,将聚合字段的平均值,但没有离群值(让我们说只有值福尔斯在10%-90%百分位数)。例如,如果我有以下文档:
[
{someField:1},
{someField:2},
{someField:3},
{someField:4},
{someField:5},
{someField:6},
{someField:7},
{someField:8},
{someField:9},
{someField:10}
]
它将计算2-9的平均值
已编辑:将“value”重命名为“someField”
1条答案
按热度按时间qvk1mo1f1#
你可以用一个
scripted_metric
aggregation一次完成这个,但是你必须写百分位函数,然后写avg函数--我写了一个here,但是这个脚本不会有很好的性能,所以我认为不值得这么做...我建议首先检索percentile bounds:
生成
[1.5, 9.5]
,然后将这些数字插入weighted average aggregation:weight
为0或1,这取决于被遍历的特定文档是否是离群值。