[ElasticSearch系列一] ElasticSearch基本概念及特性【明细】

前言

Elasticsearch(简称ES)是一个基于 Apache Lucene(TM) 的开源搜索引擎 , 同时也是一个分布式文档数据库.

特性 

  • 分布式实时文件存储,字段及字段数据均可被索引
  • 可以在极短的时间内存储搜索分析大量的数据
  • 可以扩展到上百台服务器,处理PB级结构化非结构化数据

Elasticsearch与数据库的类比

关系型数据库(比如Mysql)非关系型数据库(Elasticsearch)
数据库 (Database)索引 (Index)
表 (Table)类型 (Type)
数据行 (Row)文档 (Document)
数据列 (Column)字段 (Field)
约束 (Schema)映射 (Mapping)

索引 (index)

ES中的索引类似于传统数据库中的数据库,ES中数据存储于索引中,索引是具有类似特性的文档的集合


例如 : 一个商品索引(Folder),里面可能就存放了所有的商品数据 (document)

关系型数据库中的数据库(DataBase),等价于ES中的索引(Index)

类型 (Type)

类型类似于传统库中的,类型是索引内部的逻辑分区,类型就是为那些拥有相同的域文档做的预定义。

 

例如 : 商品分很多种类,每个种类的document的field可能不太一样(日化商品type,电器商品type,生鲜商品type )

一个数据库下面有N张表(Table),等价于1个索引Index下面有N多类型(Type)

 文档 (Document)

文档是Lucene索引和搜索的原子单位(es中最小数据单元),它是包含了一个或多个域的容器,基于JSON格式进行表示。


存入索引库原始的数据。比如每一条商品信息,就是一个文档

 字段 (Field)

文档中的属性


1个Type由多个文档(Document)和多Field组成。 

映射 (Mapping)

Mapping定义索引下的Type的字段处理规则,即索引如何建立、索引类型、是否保存原始索引JSON文档、是否压缩原始JSON文档、是否需要分词处理、如何进行分词处理


对应关系型数据库里的(约束)schema定义了表、每个表的字段,还有表和字段之间的关系

shard(分片),replica(副本) 

分片实现了集群的分布式存储,副本实现分布式处理及冗余功能。

  • shard有两种类型 :  primary(主) 和  replica(副)  
  • Replica shard 为 primary shard的副本,默认为一个,用于冗余数据及提高搜索性能

分片:将索引内部的数据分布式存储于多个节点中(索引数据分割储存),称为分片

副本:副本(Replica shard)是从主分片(primary shard)那里复制过来,为分片或节点失败时提供高可用性,副本允许用户扩展你的搜索量或吞吐量,因为搜索可以在所有副本上并行执行

 


 每个人理解方式不同,大致了解即可!

Thanks!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北九二七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值