当前位置: 首页 > wzjs >正文

深圳网站开发哪个公司好海外社交媒体平台

深圳网站开发哪个公司好,海外社交媒体平台,设计师推荐,在线海报设计网站Elasticsearch 的架构与基本概念 Elasticsearch(简称 ES)是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建。它被广泛用于全文搜索、日志分析、实时数据分析等场景。以下是其架构概述及其基本概念的详细解释。 Elasticsearch 的架…

Elasticsearch 的架构与基本概念

Elasticsearch(简称 ES)是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建。它被广泛用于全文搜索、日志分析、实时数据分析等场景。以下是其架构概述及其基本概念的详细解释。

Elasticsearch 的架构

Elasticsearch 的架构设计为分布式、高可用和可扩展,核心是一个多节点的集群结构。以下是其主要组成部分和工作方式:

1. 集群(Cluster)

  • 定义:一个 Elasticsearch 集群由多个节点(Node)组成,共同工作以存储数据和处理请求。
  • 特性
    • 集群有一个唯一的名称(默认 elasticsearch),用于区分不同的集群。
    • 节点通过网络通信,共同维护数据和状态。

2. 节点(Node)

  • 定义:运行 Elasticsearch 实例的单个服务器或进程。
  • 角色(可组合):
    • 主节点(Master Node):负责集群管理(如分片分配、节点加入/退出)。
    • 数据节点(Data Node):存储数据,执行索引和搜索操作。
    • 摄取节点(Ingest Node):预处理数据。
    • 协调节点(Coordinating Node):路由请求和聚合结果。
  • 配置:通过 node.roles 指定(7.9+),例如 node.roles: ["master", "data"]
  • 特点:节点可以动态加入或离开集群,自动重新平衡数据。

3. 索引(Index)

  • 定义:类似于传统数据库中的“数据库”,是数据的逻辑容器。
  • 特性
    • 每个索引包含一组文档(Document),并定义了数据的结构(Mapping)。
    • 索引被分成多个分片存储在集群中。
  • 示例logs-2023-01(日志索引)。

4. 分片(Shard)

  • 定义:索引被分成多个分片,每个分片是一个独立的 Lucene 实例,存储部分数据。
  • 类型
    • 主分片(Primary Shard):原始数据存储位置,负责写入。
    • 副本分片(Replica Shard):主分片的副本,用于冗余和高可用。
  • 特点
    • 分片数量在创建索引时指定(默认 1),不可更改。
    • 副本数量可动态调整(默认 1)。
  • 分布:分片分布在集群的多个节点上,实现负载均衡和容错。

5. 文档(Document)

  • 定义:索引中的基本数据单元,类似于数据库中的一行。
  • 格式:JSON 格式,包含字段(Field)和值。
  • 示例
    {"id": 1,"title": "Elasticsearch Guide","content": "This is a guide to ES."
    }
    

6. 映射(Mapping)

  • 定义:定义文档字段的类型和存储方式,类似于数据库的表结构。
  • 类型:文本(text)、关键字(keyword)、数字(integer/float)、日期(date)等。
  • 动态性
    • 默认动态映射:自动推断字段类型。
    • 显式映射:手动定义以优化性能。

7. 倒排索引(Inverted Index)

  • 定义:Lucene 核心数据结构,将词(term)映射到包含该词的文档 ID。
  • 作用:支持快速全文搜索。
  • 示例
    Term       | Doc IDs
    -----------|---------
    elastic    | 1, 3
    search     | 1, 2
    

基本概念

以下是 Elasticsearch 的核心概念,帮助理解其工作机制:

  1. 集群(Cluster)

    • 一组协同工作的节点,共享数据和负载。
    • 通过 cluster.name 标识。
  2. 节点(Node)

    • 集群中的单个实例,承担特定角色。
    • 通过配置文件(如 elasticsearch.yml)设置。
  3. 索引(Index)

    • 数据的逻辑分组,包含多个分片。
    • 通过 REST API 创建,例如:
      curl -X PUT "localhost:9200/my-index"
      
  4. 分片(Shard)

    • 数据分片单元,主分片和副本分片共同确保高可用和性能。
    • 主分片数影响并行性,副本数影响容错性。
  5. 文档(Document)

    • JSON 格式的数据单元,存储在索引中。
    • 通过唯一 ID 标识,例如:
      curl -X POST "localhost:9200/my-index/_doc/1" -d '{"title": "Test"}'
      
  6. 映射(Mapping)

    • 定义字段的类型和索引方式。
    • 示例:
      {"mappings": {"properties": {"title": { "type": "text" },"date": { "type": "date" }}}
      }
      
  7. 倒排索引(Inverted Index)

    • 搜索的核心,支持关键词快速定位文档。
  8. 主选举(Master Election)

    • 集群通过选举选择一个主节点,负责协调操作。
    • 使用 Zen Discovery(6.x)或 Voting(7.x+)机制。
  9. 复制(Replication)

    • 数据在主分片和副本分片间复制,确保高可用。
    • 写入主分片后同步到副本。
  10. 查询(Query)

    • 通过 REST API 执行搜索和分析。
    • 示例:
      curl -X GET "localhost:9200/my-index/_search?q=title:elastic"
      

架构工作流程

写入流程

  1. 客户端发送写入请求到协调节点。
  2. 协调节点路由请求到主分片所在的数据节点。
  3. 主分片写入数据并同步到副本分片。
  4. 多数副本确认后,返回成功响应。

搜索流程

  1. 客户端发送搜索请求到协调节点。
  2. 协调节点广播查询到所有相关分片(主分片或副本)。
  3. 各分片执行查询并返回结果。
  4. 协调节点聚合结果,返回给客户端。

容错机制

  • 主节点故障:自动选举新主节点。
  • 数据节点故障:副本分片接管,集群重新分配分片。

架构图示(简易版)

[Client] --> [Coordinating Node]|+-----------+-----------+|                       |
[Master Node]       [Data Nodes]|[Shards: P0, R0, P1, R1]
  • Client:发送请求。
  • Coordinating Node:路由和聚合。
  • Master Node:管理集群状态。
  • Data Nodes:存储分片(P=Primary, R=Replica)。

优点与特性

  • 分布式:数据和负载分布在多节点。
  • 高可用:副本分片提供冗余。
  • 可扩展:动态添加节点。
  • 实时性:近实时搜索(默认 1 秒刷新)。

总结

Elasticsearch 的架构是一个分布式系统,核心由集群、节点、索引、分片和文档组成。它通过倒排索引实现高效搜索,通过主分片和副本分片确保数据可靠性和性能。基本概念如映射、复制和查询是理解其功能的关键。如果需要深入某部分(例如分片分配或查询优化),可以告诉我,我会进一步讲解!



文章转载自:

http://ii9Ch3u4.gcbhh.cn
http://oqembtI8.gcbhh.cn
http://z5QHMwzs.gcbhh.cn
http://OHPaoCey.gcbhh.cn
http://i8tvFqs1.gcbhh.cn
http://mcklQKYw.gcbhh.cn
http://5KvNBxhh.gcbhh.cn
http://NutWUk6Y.gcbhh.cn
http://2caNBkuz.gcbhh.cn
http://9D7gshRU.gcbhh.cn
http://wK9fsOln.gcbhh.cn
http://GCo6jFpU.gcbhh.cn
http://fSGagUju.gcbhh.cn
http://jk8aOlTq.gcbhh.cn
http://hZvF6Wfw.gcbhh.cn
http://JyFVp6x4.gcbhh.cn
http://mKQrO0OM.gcbhh.cn
http://bKea1Vpl.gcbhh.cn
http://Z9nZkg5S.gcbhh.cn
http://TTazcEnR.gcbhh.cn
http://aa5HZrC5.gcbhh.cn
http://DJMGO7EU.gcbhh.cn
http://FzDihqhl.gcbhh.cn
http://D7UlfqMc.gcbhh.cn
http://n72OIEkX.gcbhh.cn
http://Jl1cM6XZ.gcbhh.cn
http://91nRv8J9.gcbhh.cn
http://eF3MPDfq.gcbhh.cn
http://xnufLy4L.gcbhh.cn
http://epcykl56.gcbhh.cn
http://www.dtcms.com/wzjs/676783.html

相关文章:

  • 织梦网站更换域名新乡做新网站
  • 江苏省医院网站建设管理规范怎么恶意点击对手竞价
  • 闸北区网站设计与制作安顺建设工程造价管理网站
  • 朋友圈网站文章怎么做福建省住房城乡和城乡建设厅网站
  • 做非法网站人人设计网网址
  • 个人开店做外贸网站建设公司官网的请示
  • 代做原创毕业设计网站做网站需要公司备案
  • 济南外贸网站制作html制作网页的代码
  • 织梦禁止网站右击餐饮网站建设服务器
  • 锦州做网站公司合肥关键词网站排名
  • 企业网站设计过程中做网站页面用什么
  • 妇幼网站建设pptvue门户网站模板
  • 网站建设制作介绍河南seo优化方法有哪些
  • 大学生创业服务网站建设方案网站栏目排序
  • 包包网站建设策划书个人网站备案备注信息
  • 购物网站的建设思维导图做个网站上百度怎么做
  • wordpress仿站软件中裕隆建设有限公司网站
  • 网站导航栏代码常平哪里有招计算机网站开发的
  • 网站快照wordpress采集淘宝
  • 深圳市网站制作最好的公司163邮箱登录企业邮箱
  • 班级网站建设规划书国内外ai设计素材网站
  • 西安网站优化公司美食网站建设的意义
  • wordpress主题 淘宝客seo精华网站
  • 潍坊做网站联系方式网站建设课程教学计划
  • 苏州吴中区建设局网站哈尔滨做网站建设
  • 网站建设ssc源码平台济南活动搭建公司
  • 网站开发什么技术海东地网站建设
  • 将二级域名 网站目录做网站底色怎么选
  • 惠州市建网站公司开源项目网站
  • 网站登录密码忘记了网站主题推荐