Elasticsearch 6 allows one mapping type per index

An index could hold several types — product and review in one index — and they shared a Lucene field space underneath, so two types with a field of the same name and different mappings conflicted in ways that were hard to explain. 6.0 allows one type per index and removes types entirely later.

# before: two types, one index
PUT /shop/product/1
PUT /shop/review/1

# 6.0: one index each
PUT /products/_doc/1
PUT /reviews/_doc/1

The migration is a reindex per type into its own index, which behind an alias is not an outage. The other pattern to unpick is a single index with a discriminator field used as a type — that works and keeps working, and it is worth being deliberate about whether the documents genuinely belong together. Sparse fields across dissimilar documents cost storage and hurt scoring.