关于ElasticSearch和MySQL中的概念对应关系

**ES数据架构的主要概念(与关系数据库Mysql对比)**
ElasticSearchMySQL
IndexDatabase
TypeTable
DocumentRow
FieldColumn
MappingSchema
Everything is indexedIndex
QuerySQL
GEThttp://…select * from …
POSThttp://…update table set …

(1)关系型数据库中的数据库(DataBase),等价于ES中的索引(Index)
(2)一个数据库下面有N张表(Table),等价于1个索引 Index下面有N多类型(Type),
(3)一个数据库表(Table)下的数据由多行(ROW)多列(column,属性)组成,等价于1个Type由多个文档(Document)和多Field组成。
(4)在一个关系型数据库里面,schema定义了表、每个表的字段,还有表和字段之间的关系。 与之对应的,在ES中:Mapping定义索引下的Type的字段处理规则,即索引如何建立、索引类型、是否保存原始索引JSON文档、是否压缩原始JSON文档、是否需要分词处理、如何进行分词处理等。
(5)在数据库中的增insert、删delete、改update、查search操作等价于ES中的增PUT、删Delete、改POST、查GET

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答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),Index、type和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。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值