elasticsearch,Groovy,elasticsearch" /> elasticsearch,Groovy,elasticsearch" />

Groovy 弹性搜索的舍入问题

Groovy 弹性搜索的舍入问题,groovy,elasticsearch,Groovy,elasticsearch,我正在尝试将Elasticsearch聚合中的小数点四舍五入到2位,但我无法做到这一点……我正在使用Groovy作为我的脚本引擎 ... "aggs": { "avg_response_time": { "avg": { "field": "exec_time", "script": "_value.round(2)" } }, ... 有什么帮助吗?那么确切的问题是什么?错

我正在尝试将Elasticsearch聚合中的小数点四舍五入到2位,但我无法做到这一点……我正在使用Groovy作为我的脚本引擎

...
"aggs": {
        "avg_response_time": {
          "avg": {
            "field": "exec_time",
            "script": "_value.round(2)"
          }
        },
...

有什么帮助吗?

那么确切的问题是什么?错误例外这可能有用
new BigDecimal(_value).setScale(2,BigDecimal.ROUND_UP)
@cfrick,舍入似乎不起作用,我找回了原始的十进制数。我尝试了你的建议,但我得到了一个错误消息:java.lang.SecurityException:表达式[ConstructorCallExpression]不允许:new java.math.BigDecimal(_值)为什么不在客户端对其进行四舍五入?强制脚本按值执行要比按结果执行花费多得多。@pickypg,我得到了很多结果…在客户端循环结果也不会有效率。