ElasticSearch 6.x 核心概念

索引(Index):

     ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。跟关系型数据库(如Mysql)中的一个 数据库 类似,或者一个数据传统方案(Schema)。索引由其名称(必须为全小写字母)进行标识,可以通过此名称完成文档的创建、搜索、更新及删除操作。一个ES集群中可以按需创建任意数目的索引。

类型(Type):

    类型是索引内部的逻辑分区(category/partition)。类似于关系型数据库中的 表(注:这个比喻只是为了理解,并不是一个好的比喻),可以在一个索引中,定义一个存储数据的类型

注:EasticSearch在6.0之后已经不建议使用单Index 多Type结构,在以后的版本中会移动这个功能

文档、域(Document, field):

   文档是ES中最小数据单元,一个Document可以是一条学生数据,一条商品数据等,以JSON结构表示,每个Index下的Type中,都可以去存储多个document,一个document里面有一个或多个field,每个field就是一个字段。

   文档由一个或多个域组成,每个域拥有一个名字及一个或多个值,有多个值的域通常称为“多值域”。每个文档可以存储不同的域集,但同一类型下的文档应该有某种程度上的相似之处。

文档元数据:

    一个文档不仅仅包含它的数据,也包含元数据——有关文档的信息。三个必须的元数据元数如下:

    _index:文档在哪存放

    _type:文档表示的对象类型

   _id:文档唯一标识

映射(Mapping):

   ES中,所有的文档在存储之前都要首先进行分析。用户可根据需要定义如何将文本分割成token、哪些token应该被过滤掉,以及哪些文本需要进行额外处理等等。另外,ES还提供了额外功能,例如将域中的内容按需排序。事实上,ES也能自动根据其值确定域的类型。

集群(Cluster):

   包含多个节点,每个节点属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的,对于中小型应用来说,刚开始一个集群就一个节点很正常。

节点(Node):

    是集群的一个成员,可以存储数据、参与集群索引及搜索操作。类似于集群,节点靠其名称进行标识,默认为启动时自动生成的随机Marvel字符名称。节点通过为其配置的ES集群名称确定其所要加入的集群。

分片(Shard)和副本(Replica):

  ES的"分片(shard)"机制可将一个索引内部的数据分布地存储于多个节点,它通过将一个索引切分为多个底层物理的Lucene索引完成索引数据的侵害存储功能,每一个物理的Lucene索引称为一个分片(shard)。每个分片其内部都是一个全功能且独立的索引,因此可由集群中的任何主机存储。创建索引时,用户可指定其分片的数量,默认数量为5个。

   Shard有两种类型:primary和replica,即主shard及副本shard。Primary shard用于文档存储,每个新的索引会自动创建5个Primary shard,当然此数量可在索引创建之前通过配置自行定义,不过,一旦创建完成,其Primary shard的数量将不可更改。Replica shard是Primary Shard的副本,用于冗余数据及提高搜索性能。每个Primary shard默认配置了一个Replica shard,但也可以配置多个,且其数量可动态更改。ES会根据需要自动增加或减少这些Replica shard的数量。

   ES集群可由多个节点组成,各Shard分布式地存储于这些节点上。

近实时搜索  Near Realtime(NRT):

    近实时,从写入数据到数据可以被搜索到有一个小延时。这个跟Solr不同,Solr在建立索引时,搜索效率下降,实时索引搜索效率不高。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值