gpt4 book ai didi

elasticsearch - 在elasticsearch中创建参数scripted_metric

转载 作者:行者123 更新时间:2023-12-02 23:29:04 25 4
gpt4 key购买 nike

我想在聚合中使用scripted_metric。我的脚本中有一些参数值,我想为每个查询设置这些参数值,有可能完全创建此查询吗?
下面是我要寻找的示例

"aggs": {
"testAgg": {
"scripted_metric": {
"init_script": "_agg['maximum'] = []",
"map_script": "max = 0; for(tv in _source.tvs){ if(tv.att1>= param1 && tv.attr2 <= param2 && tv.att3 > max){max = tv.att3; }}; _agg.maximum.add(max);",
"combine_script": "sum = 0; for (m in _agg.maximum) { sum += m }; return sum;",
"reduce_script": "sum = 0; for (a in _aggs) { sum += a }; return sum;"
}
}
}

param1和param2是我的参数值,如何为我的目的更改此聚合?

tnx :)

最佳答案

您可以通过指定全局params映射来实现

"aggs": {
"testAgg": {
"scripted_metric": {
"params": {
"_agg": {},
"param1": 10,
"param2": 20
},
"init_script": "_agg['maximum'] = []",
"map_script": "max = 0; for(tv in _source.tvs){ if(tv.att1>= param1 && tv.attr2 <= param2 && tv.att3 > max){max = tv.att3; }}; _agg.maximum.add(max);",
"combine_script": "sum = 0; for (m in _agg.maximum) { sum += m }; return sum;",
"reduce_script": "sum = 0; for (a in _aggs) { sum += a }; return sum;"
}
}
}

关于elasticsearch - 在elasticsearch中创建参数scripted_metric,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38681961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com