Сбрасывает ли операция слияния ElasticSearch номер _version документа? - PullRequest
0 голосов
/ 18 июня 2020

Я использую версию ElasticSearch 6.3. В одном указателе я заметил, что номер _version для более чем 1000 документов старше 1 месяца был больше 1000. Документ содержит метаданные файла S3, такие как ключ и другую информацию,

_version номер документа совпадает также с количеством версий файла S3, соответствующего документу.

Мои вопросы:

  1. Почему такие старые документы все еще остаются такими же? количество версий, на которые не влияют операции слияния сегментов?

  2. Насколько я понимаю, операция слияния сегментов такова, что она также должна сбрасывать значение поля _version на 1. Это правильно?

Жду ваших ответов.

1 Ответ

1 голос
/ 18 июня 2020

Во-первых, вам нужно понять, что такое операция слияния в Elasticsearch:

Из основного Elasticsearch do c это не совсем понятно, но позвольте мне добавить, что это на самом деле выполняет жесткое удаление старых удаленных документов, поэтому, если документ обновляется несколько раз, его версия обновляется все время, но Elasticsearch просто выполняет мягкое удаление во время обновления и очищает (жесткое удаление) их во время сегмента слияния (из-за неизменной природы сегментов).

Теперь ответить на ваш вопрос намного проще

1. Почему такие старые документы все еще сохраняли такое же количество версий без на них влияют операции слияния сегментов?

Ответ: Эти документы могут быть частью некоторых больших сегментов или из-за проблем с инфраструктурой API слияния их ограничивает.

2. Насколько я понимаю, операция слияния сегментов состоит в том, что она также должна сбрасывать значение поля _version на 1. Это правильно? * 1 019 *

Ответ: Операция слияния не выполняется, просто объединяются меньшие сегменты в большие и выполняется полное удаление документов, которые были мягко удалены без изменения поля _version.

...