What is the status of one type per index in ElasticSearch 6.0

We recently have had a thread discussing the fact that in ElasticSearch 6.0 multiple types per index would not be allowed anymore. The thread was closed but without a real answer whether this will effectively be implemented or not. Since this impacts so many users I think we have the right to know upfront if this has been firmly decided. I'm sure this would cause major headaches and force major rewrites of existing software.

I still hope this "feature" will not see the light of day. In case it does I have one request: make it invisible for the developer. This could be done by not letting the developer work with physical indices directly anymore but a sort of virtual compound index (= a combination of indices each containing one type) and let Elasticsearch do the heavy lifting of accessing the correct physical index to store and retrieve data. That way nothing changes for a developer perspective but underlyingly a single index per type is used. Maybe this is the best of both worlds?

Yes, it has been firmly decided.

What do you think of my suggestion to make it invisible to the developer?

The concept of physical indices and virtual compound indices are already implemented by index aliases mechanism.

Not sure why there must a "major rewrite"? All fields in an index must already be non-conflicting, no matter how many mappings are used.

For example, from the early days of Elasticsearch I was convinced by the "Book/CD" example, that field mappings must be non-conflicting and additive, for index types should be useful for "search views" on an index. This kind of separation is already controlled by my application, e.g. by a search filter. Search filters are more dynamic than an index type. So I decided to implement custom search filter fields, and ignored the index type mechanism.

Index aliases containing multiple indices cannot be used for storing/updating/deleting data.

Sure, as I said, index aliases are for search filtering.

For indexing, you can try to append index name with the index type name and use that combination as the index name.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.