【发布时间】:2022-01-24 07:07:42
【问题描述】:
我使用无痛更新文档。如何使用 BigDecimal 来完成它?使用 Elasticsearch 6.8.1。 Script JavaDoc 脚本构造器是:
public Script (ScriptType type,
java.lang.String lang,
java.lang.String idOrCode,
java.util.Map<java.lang.String, java.lang.Object> params)
我的代码是:
StringBuilder script = new StringBuilder();
Map<String, Object> params = new HashMap<>();
params.put("poundageRate", poundageRate.doubleValue());
script.append("ctx._source.poundage=ctx._source.amount*params.poundageRate;");
Script scriptObj = new Script(INLINE, DEFAULT_SCRIPT_LANG, script.toString(), params);
我的问题是: 如何让 ctx._source.amount*params.poundageRate 使用 BigDecimal 方法 乘法和setScale
new BigDecimal("ctx._source.amount").multiply(new BigDecimal("params.poundageRate")).setScale(2, HALF_UP).stripTrailingZeros()
非常感谢,我会很感激的
【问题讨论】:
标签: elasticsearch elasticsearch-painless