Мне нужно обновить много документов, уже вставленных наasticsearch 5.4.Я думаю, что здесь отсутствует какая-то БОЛЬШАЯ концепция, потому что мне нужно что-то сделать просто, а я не могу.
Мне нужно вырезать 6 последних чисел из "req.body.client.id" и скрытьостальное (замена на х).Пример: 9494402234028493247 ---> xxxxxxxxxxxxxx493247
Я мог бы сделать это!Но проблема в том, что код такой длинный.Я хотел бы использовать переменную, и я не могу.Я не хочу ПОВТОРИТЬ поле ctx._source.req.body.client.id 4 раза.Было бы лучше, если бы я мог сделать это: clientId = ctx._source.req.body.client.id, а затем использовать clientId в оставшейся части строки сценария.Как правильно это сделать?
POST my_index/_update_by_query
{
"query": {
"regexp":{
"req.body.client.id":"94944022.*"
}
},
"script": {
"lang": "painless",
"inline": "ctx._source.req.body.client.id = 'xxxxxxxxxxx' + ctx._source.req.body.client.id.substring(ctx._source.req.body.client.id.length()-6,ctx._source.req.body.client.id.length())"
}
}
Вопрос в том, что касается VARIABLES и упрощения кода.