A field that had to change type for the second time in eighteen months, and a rebuild that is now routine.
PUT /products-2026-01
POST /_reindex { "source": {"index":"products-2025-05"},
"dest": {"index":"products-2026-01"} }
POST /_aliases # atomic
# 11 minutes, and the only decision was which evening.
# in 2023 this was a maintenance window.
The rebuild time is what makes a mapping change a routine operation rather than an event, and it is entirely the four bulk settings from 2025 — refresh interval off, replicas zero, a streaming source query, five-megabyte batches. The alias is what makes the switch atomic and the previous index is kept for a week.