Reindex an Elasticsearch index behind an alias

curl -XPOST localhost:9200/_reindex -d '{
  "source": { "index": "products_v3" },
  "dest":   { "index": "products_v4" }
}'

curl -XPOST localhost:9200/_aliases -d '{
  "actions": [
    { "remove": { "index": "products_v3", "alias": "products" } },
    { "add":    { "index": "products_v4", "alias": "products" } }
  ]
}'