Обновления эластичного поиска случайным образом заканчиваются неудачей, итого = 0 успешно = 0 не удалось = 0 - PullRequest
0 голосов
/ 31 мая 2018

При выполнении обновлений в существующих документахasticsearch я иногда получаю результат _shards, в котором все успешные, итоговые и ошибочные значения равны 0. Большую часть времени он проходит.

Как следуетинтерпретировать это - время ожидания соединения, узел временно доступен?И как мне обойти это?(просто попробуйте еще раз?)

Я подозреваю, что это связано с несовместимым использованием некоторых параметров соединения с моей установкой разработки одного контейнера ES Docker, но, надеюсь, это должен быть поддерживаемый вариант использования.

Например: результат обновления:

{'_shards': {'successful': 0, 'total': 0, 'failed': 0}, 
 '_version': 2, 
 '_type': 'foo', '_index': 'foo_v1', '_id': 'AWO25xdEbiEvQ_s5I_35'
}

Я подключаюсь к одному контейнеру док-станции ES, работающему на том же хосте, что и клиент.Мои параметры подключения ES следующие, и я использую их с клиентом pythonasticsearch:

"es": {
    "hosts": ("http://localhost:9200",),
    "http_auth": None,
    "password": None,
    "use_ssl": False,
    "verify_certs": True,
    "sniff_on_start": True,
    "sniff_on_connection_fail": True,
    "sniffer_timeout": 60
},

Пример запроса на обновление:

update_res = es.update("foo_v1", doc_type="foo", id=the_id, body=patch_data)

Это на Elasticsearch 2.4

1 Ответ

0 голосов
/ 31 мая 2018

Ответ, который вы получаете, - это то, что вы должны ожидать, если Elasticsearch определит, что ваше обновление не приведет к изменению документа: https://www.elastic.co/guide/en/elasticsearch/reference/2.4/docs-update.html#_detecting_noop_updates

Чтобы убедиться, что это то, что происходит, выможете добавить опцию detect_noop: false в ваши обновления, что заставит сервер всегда переиндексировать документ, даже если ваше обновление ничего не меняет.Убедитесь, что вы больше не получаете результаты 0/0/0, наслаждайтесь возросшей уверенностью, что все работает нормально, а затем отключите опцию detect_noop, чтобы не выполнять ненужную переиндексацию.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...