elasticsearch scripted_metric
时间: 2023-11-30 13:41:08 浏览: 177
Elasticsearch的scripted_metric是一种聚合操作,它允许用户使用自定义脚本来计算聚合结果。下面是一个使用scripted_metric计算平均值的例子:
```
POST /sales/_search
{
"size": 0,
"aggs": {
"average_price": {
"scripted_metric": {
"init_script": "state.transactions = []",
"map_script": "state.transactions.add(doc.price.value)",
"combine_script": "double sum = 0; for (t in state.transactions) { sum += t } return sum",
"reduce_script": "double sum = 0; for (a in states) { sum += a } return sum / states.length"
}
}
}
}
```
在上面的例子中,我们使用scripted_metric来计算销售数据中价格的平均值。init_script用于初始化状态,map_script用于将每个文档的价格添加到状态中,combine_script用于将所有状态值相加,reduce_script用于计算平均值。
阅读全文