Я хочу добавить некоторые данные в документ в Elasticsearch и установить метку времени с помощью MVEL.
это то, что я сейчас пытаюсь. Но это не работает.
{"error": "ElasticSearchIllegalArgumentException [не удалось выполнить скрипт]; вложено: PropertyAccessException [[Ошибка: не удалось получить доступ к свойству (отметка времени) в: java.lang.Long] \ n [Рядом: {... отметка времени .... }] \ n ^ \ n [Строка: 1, Столбец: 1]]; "," статус ": 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" на "test".