1. Во-первых, я выполняю следующий скрипт
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "projects",
"query": {
"bool": {
"must": [
{
"term": {
"projects.invitation.code": "200313850348"
}
},
{
"term": {
"projects.type": 4
}
}
]
}
}
}
}
]
}
},
"script": {
"inline": "for(e in ctx._source.projects){if (e.type == params.projects_type) {e.invitation.train.train_sign_status = params.invitation_train_train_sign_status;e.invitation.train.last_sign_in_time = params.invitation_train_last_sign_in_time;e.invitation.train.modify_time = params.invitation_train_modify_time;e.invitation.return_status = params.invitation_return_status;e.invitation.return_desc_enum = params.invitation_return_desc_enum;e.invitation.return_time = params.invitation_return_time;e.invitation.invite_step = params.invitation_invite_step;e.invitation.modify_time = params.invitation_modify_time;}}",
"lang": "painless",
"params": {
"projects_type": 4,
"invitation_train_train_sign_status": 1,
"invitation_train_last_sign_in_time": "2020-04-29 10:15:02",
"invitation_train_modify_time": "2020-04-29 10:15:02",
"invitation_return_status": 0,
"invitation_return_desc_enum": 0,
"invitation_return_time": "1970-01-01 00:00:00",
"invitation_invite_step": 4,
"invitation_modify_time": "2020-04-29 10:15:03"
}
}
}
2.Возврат результата
{
"took": 9,
"timed_out": false,
"total": 1,
"updated": 1,
"deleted": 0,
"batches": 1,
"version_conflicts": 0,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1,
"throttled_until_millis": 0,
"failures": []
}
3. При поиске документа я не обнаружил успешное обновление (это было долгое время)
4. Выполните еще раз 1, запрос был снова успешно обновлен, что показывает, что с оператором все в порядке
В конце я сомневаюсь, почему результат возвращается успешно. Иногда фактическое обновление будет безуспешным, что не является необходимой проблемой.