我想将一些数据附加到 Elasticsearch 中的文档并使用 MVEL 设置时间戳。
这就是我目前正在尝试的。但它不起作用。
{"error":"ElasticSearchIllegalArgumentException[未能执行脚本];嵌套:PropertyAccessException[[错误:无法访问属性(时间戳)在:java.lang.Long]\n[Near : {... Timestamp .... }]\n ^\n[行: 1, 列: 1]]; ","status":400}
如何访问时间戳字段(通过映射成功创建)
{
"script": "
valueSet.Timestamp = time();
if (ctx._source[\"values\"] == null) { ctx._source.values = valueSet} else {ctx._source.values += valueSet}
",
"params": {
"valueSet":
[
{
"Timestamp": "",
"value": "100.00"
}
]
}
}
更新:
了解如何访问 valueSet
{
"script": "
valueSet[0].value = 'test';
if (ctx._source[\"values\"] == null) { ctx._source.values = valueSet} else {ctx._source.values += valueSet}
",
"params": {
"valueSet":
[
{
"Timestamp": "",
"value": "100.00"
}
]
}
}
以上将覆盖“100.00”为“测试”。