Получение 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 здесь.

Другие вопросы по тегам