Я работаю с Elasticsearch 5 и Nest 5.
Я запускаю обновление по запросу Async, которое обновит большое количество документов. Я использую "WaitForCompletion (false)", чтобы сделать это.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я использую NEST для получения задачи, созданной операцией UpdateByQuery, объект, который возвращает NEST, не содержит коллекцию "Failures".
Так что, если я заметил, что в статистике задач у меня есть конфликты версий, например, как я могу получить идентификатор документов с этими конфликтами версий, не имея доступа к сбору сбоев.
Мой UpdateByQuery выглядит так:
query
.Index(allIndexesStr)
.Query(q =>
...
)
.WaitForCompletion(false)
.Script(script => script
.Inline(scriptStr)
.Params(p =>
...
)
)
...
Я получаю задачу вот так:
new ElasticClient(ESConnectionSettings.Instance.Settings).GetTask(taskId);
UPDATE
Если я проверял тело ответа Elasticsearch (простой текст) на NEST, я заметил, что получаю ту же информацию, что и при получении на Kibana (GET _tasks / {taskId}). Так что я знаю, почему NEST не анализирует и не отображает эти данные.
{
"completed": true,
"task": {
"node": "UeShceb_RaqztSOeFnLkvA",
"id": 44969,
"type": "transport",
"action": "indices:data/write/update/byquery",
"status": {
"total": 100,
"updated": 0,
"created": 0,
"deleted": 0,
"batches": 1,
"version_conflicts": 100,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1,
"throttled_until_millis": 0
},
"description": "",
"start_time_in_millis": 1526329389030,
"running_time_in_nanos": 27966899,
"cancellable": true
},
"response": {
"took": 27,
"timed_out": false,
"total": 100,
"updated": 0,
"created": 0,
"deleted": 0,
"batches": 1,
"version_conflicts": 100,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1,
"throttled_until_millis": 0,
"failures": [
{
"index": "testvisitors-1523737378",
"type": "esvisitor",
"id": "3232c447-0f1f-4c00-abf5-d651c26b0c8c",
"cause": {
"type": "version_conflict_engine_exception",
"reason": "[esvisitor][3232c447-0f1f-4c00-abf5-d651c26b0c8c]: version conflict, current version [2] is different than the one provided [1]",
"index_uuid": "jXhfvWFVRq-NCvZXAyr58A",
"shard": "1",
"index": "testvisitors-1523737378"
},
"status": 409
}, ...