美文网首页
02-ES7架构

02-ES7架构

作者: wshsdm | 来源:发表于2021-10-23 09:36 被阅读0次

    1 ES基本结构

    ES从逻辑结构和物理结构区分:

    1.1 ES的逻辑结构

    文档是ES索引和搜索的基本单位,文档以类型来分组,类型存在于一个索引中;

    • 文档特性
    1. 自我包含(文档中包含字段和对应的取值);
    2. 层次型的(字段对应的值可以嵌套);
      一篇文档通常是数据的Json表示;文档是无模式的(并非所有的文档都需要拥有相同的字段,每个字段类型可以不同,类型也称为映射类型)
    • 类型
      类型是文档逻辑容器,在 7.0 以及之后的版本中 Type 被废弃了。一个 index 中只有一个默认的 type,即 _doc;
    • 索引
      索引是映射类型的容器,每个索引有一个refresh_interval的设置,定义了新近索引的文档对于搜索可见的时间间隔;刷新操作的代价是非常昂贵的,默认是每秒更新一次,而不是新来一篇文档就更新一次;

    1.2 ES的物理结构

    ES的物理结构决定了ES是如何处理数据的,ES将每个索引划分为分片,每个分片可以在集群中的不通服务器间迁移;物理设计的配置方式决定了集群的性能,可扩展性和可用性;
    默认情况,每个索引由5个主要分片组成,每个主分片有一个副本,一共10份分片;
    通常一个分片是一个目录中的文件,Lucene用这些文件存储索引文件,分片是ES从一个节点迁移到另一个节点的最小单位;

    1.3 当索引一篇文档时流程

    当前索引一篇文档时,系统首先根据文档的ID的散列值选择一个主分片,并将文档返送该主分片;然后文档被发送到该主分片的所有副本分片进行索引;使得副本分片和主分片直接保持数据的同步;数据同步使得副本分片可以服务于搜索请求,并将原有的主分片无法访问时自动升级为主分片;

    1.4 搜索索引流程

    当搜索一个索引是,ES需要在该索引得完整分片集合中进行查找,这些分片可以是主分片,也可以是副本分片,原因对应的主分片和副本分片通常包含一样的文档,ES在索引的主分片和副本分片中进行搜索请求的负载均衡,使得副本分片对于搜索性能和容错都有所帮助;

    2 ES7节点,主分片和副本分片

    3 通过cUrl和一个数据集来索引文档

    4 设置ES配置选项

    相关文章

      网友评论

          本文标题:02-ES7架构

          本文链接:https://www.haomeiwen.com/subject/ayjkaltx.html