Elasticsearch 6中"Type"是否已弃用?实操矛盾问题咨询
关于Elasticsearch 6.2.2中类型弃用规则的澄清
嘿,我来帮你理清这个困惑!你之所以没遇到报错,是因为误解了官方文档里的限制范围——文档中说的「每个索引仅能使用一种类型」,针对的是同一个索引,而你操作的是两个完全独立的索引(blogs和blogs_v2),它们各自使用post类型是完全合法的。
具体规则拆解
在Elasticsearch 6.x版本中,类型弃用的核心限制是:
- 单个索引内只能存在一种类型:如果尝试在已存在类型的索引下创建第二种类型(比如给
blogs索引同时添加post和comment类型),ES才会抛出错误。举个例子,如果你执行:
这时候系统就会报错,提示你违反了单索引单类型的限制。PUT http://IP:9200/blogs/comment/1 - 不同索引间的类型名相互独立:你完全可以在
blogs、blogs_v2甚至更多不同索引里使用相同的post类型名,这并不违反ES6的规则。
补充背景
ES6引入这个单索引单类型的限制,是为了向ES7及以后的版本过渡——在ES7中,类型的概念被彻底移除,所有文档默认归在_doc这个唯一的逻辑类型下,彻底告别了多类型的设计。
内容的提问来源于stack exchange,提问作者gambit2017
相关产品推荐
相关产品推荐

