Получение version_conflict_eng (409) при обновлении в существующем индексе
Я пытаюсь обновить некоторые данные в AWS Elastic Search Index,
Я пытаюсь выполнить обновление с помощью этого метода:
https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/updating_documents.html
Метод обновления:
$params = [
'index' => 'my_index',
'id' => 'my_id',
'body' => [
'doc' => [
'new_field' => 'abc'
]
];
$response = $client->update($params);
But I am getting the below mentioned error.
Error:
[728376]: version conflict,
required seqNo [145274],
primary term [1].
current document has seqNo [779385] and primary term [2]
Status Code: 409
Type: version_conflict_eng
Index: user
Отображение индекса (JSON):
{"user":{"mappings":{"dynamic":"strict","properties":{"EMAIL":{"type":"text"},"FIRSTNAME":{"type":"text"},"MOBILE_NUMBER":{"type":"long"},"NOT_VISIBLE_IDS":{"type":"text"},"SOCIAL_CONTACT":{"type":"nested","include_in_parent":true,"properties":{"DEGREE":{"type":"long"},"FOLLOWER":{"type":"long"}}},"TOTAL_FOLLOWER":{"type":"long"},"USERID":{"type":"long"},"USERNAME":{"type":"text"},"USER_STRING_UNIQUE_ID":{"type":"text"}}}}}
Index Setting(JSON):
{"user":{"settings":{"index":{"mapping":{"nested_objects":{"limit":"2000000"}},"number_of_shards":"5","provided_name":"user","creation_date":"1619021545916","number_of_replicas":"1","uuid":"PzyebOY9SIG-BXl-N9aW8Q","version":{"created":"7010199"}}}}}
1 ответ
Вы получаете эту ошибку, потому что пытаетесь обновить документ, имеющий более новую версию в вашем индексе, Elastic использует оптимистическую блокировку для проверки версий, чтобы получить дополнительную информацию о поддержке управления версиями в проверке ES здесь.