An Elasticsearch index can only have one mapping type now

6.x allows one type per index and 7 removes types entirely, which breaks the common pattern of putting orders and customers in the same index with a type discriminator.

# 5.x — one index, several types
PUT /shop/order/1
PUT /shop/customer/1

# 6.x — one index each, and a field if you need the distinction
PUT /orders/_doc/1
PUT /customers/_doc/1

# or a single index with an explicit field
PUT /shop/_doc/order-1  { "entity": "order", ... }

The reason is that fields with the same name in different types shared one Lucene field under the hood, so status on an order and status on a customer were the same mapping whether that made sense or not. The migration is mechanical and touches every query, because the type is in the URL. Doing it with an alias means the switch is one atomic operation rather than a deploy that has to line up with a reindex.