es为什么要取消type? 或者为什么一个index下多个type会有问题

同一个index下的不同的type下的相同的filed,在同一个index下其实会被认为是同一个filed.

否则,不同type中的相同字段名称就会在处理中出现冲突的情况,导致Lucene处理效率下降。
### 回答1: 在 Elasticsearch(ES)中,Index一个包含相关文档的逻辑命名空间,类似于 MySQL 中的数据库。在一个Index中,可以定义多个type,每个type是文档的逻辑分类,类似于 MySQL 中的表。但是,从ES 7.0版本开始,type已经被弃用,不再支持多个type在同一个Index中存在,文档直接存储在Index中。 Mapping是Index中文档的定义和字段的类型,类似于 MySQL 中表的结构定义和字段类型。Mapping可以定义文档中的每个字段的数据类型,例如文本、数字、日期等,还可以定义这些字段是否需要被索引、是否需要被存储、是否需要被分词等。 在MySQL中,一个database(数据库)可以有多个table(表),一个table可以定义多个column(列),column是字段的逻辑定义,类似于ES中的mapping。但是,MySQL中的table是强类型的,一旦定义了列的数据类型就不能修改,而ES中的mapping可以动态修改,方便灵活。 此外,ES一个分布式搜索引擎,可以进行全文搜索、聚合分析等,而MySQL则是一个关系型数据库,适用于存储和管理结构化数据。 ### 回答2: 在Elasticsearch(ES)中,Indextype和mapping的概念分别可以对应到MySQL中的以下概念: 1. Index索引):在ES中,Index一个包含相关文档集合的逻辑命名空间。可以将Index类比为在MySQL中的数据库。一个Index可以包含多个不同type(类型)。 2. Type(类型):在ES中,type是指在一个Index中对文档进行逻辑上的分组。在早期版本ES中,一个Index可以包含多个type,类似于在MySQL中的表。但自从ES 7.x版本开始,type的概念已被废弃,一个Index只能包含一个默认的_type("_doc"),类似于MySQL的表。 3. Mapping(映射):在ES中,mapping定义了文档的结构和字段的类型。类似于在MySQL中的表结构,mapping决定了文档在索引中的存储方式和查询方式。在ES中,默认自动创建mapping,但也可以手动指定并更改mapping。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值