2017-10-23 27 views
0

delete_by_queryでESで大量のドキュメントを削除しようとしています。 しかし、私は次のエラーが表示されます。クエリでレコードを削除するときにElasticSearchエラーが発生する

クエリ

POST indexName/typeName/_delete_by_query 
{ 
    "size": 100000, 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "range": { 
      "CREATED_TIME": { 
       "gte": 0, 
       "lte": 1507316563000 
      } 
      } 
     } 
     ] 
    } 
    } 
} 

結果

{ 
    "took": 50489, 
    "timed_out": false, 
    "total": 100000, 
    "deleted": 0, 
    "batches": 1, 
    "version_conflicts": 1000, 
    "noops": 0, 
    "retries": { 
    "bulk": 0, 
    "search": 0 
    }, 
    "throttled_millis": 0, 
    "requests_per_second": -1, 
    "throttled_until_millis": 0, 
    "failures": [ 
    { 
     "index": "indexName", 
     "type": "typeName", 
     "id": "HVBLdzwnImXdVbq", 
     "cause": { 
     "type": "version_conflict_engine_exception", 
     "reason": "[typeName][HVBLdzwnImXdVbq]: version conflict, current version [2] is different than the one provided [1]", 
     "index_uuid": "YPJcVQZqQKqnuhbC9R7qHA", 
     "shard": "1", 
     "index": "indexName" 
     }, 
     "status": 409 
    },.... 

答えて

1

this articleをお読みください。あなたは、バージョンの競合をむしろカウントしたい場合

あなたは、バージョンの競合を無視するURLを設定したり、バージョンの競合を無視するクエリを設定することで、この問題を扱う二つの方法がありますそれらを中止させる場合は、URLにconflicts=proceed、またはリクエスト本体に"conflicts": "proceed"を設定します。

関連する問題