Elasticsearch: как добавить метки времени created_at и updated_at?

У меня есть база данных, в которой я должен хранить поля created_at и updated_at для каждого документа.

Поле created_at должно быть создано один раз при вставке первого документа.

Поле updated_at должно быть создано при первой вставке документа и должно обновляться через Bulk API при каждом обновлении, даже если ни одно из полей документа не изменяется.

Вопрос: как добавить эти временные метки?


person Prisacari Dmitrii    schedule 07.07.2019    source источник


Ответы (1)


Я полагаю, что раньше в Elasticsearch была функция автоматического добавления, но в более поздних версиях она была удалена для повышения производительности. Вам нужно будет добавить эти поля в свое сопоставление, а затем реализовать процесс для установки этих полей. Один из способов сделать это — использовать конвейер загрузки, который кто-то объясняет на форуме ES. Вы захотите проверить документы о том, как реализовать конвейеры с вашей конкретной версией Elasticsearch.

Предложение. Всегда проверяйте форумы на наличие вопросов по Elasticsearch. Сообщество, кажется, более активно там, и разработчики также часто отвечают на вопросы.

person Nick Chouard    schedule 21.08.2019
comment
К сожалению, что касается elasticsearch v7.2, я не нашел другого способа добавить эти метки времени, кроме приема конвейеров и сценариев обновления / обновления. Принятие этого ответа. - person Prisacari Dmitrii; 23.08.2019