Elasticsearch核心架构:Index索引详解与管理操作大全
Elasticsearch核心架构Index索引详解与管理操作大全一、前言二、Elasticsearch Index基础定义2.1 什么是 Index 索引2.2 索引核心特点2.3 ES 索引与数据库概念对比三、Elasticsearch Index内部架构与流程图3.1 索引内部组成结构图3.2 索引工作流程图文档写入3.3 流程一句话总结四、Index 索引核心组成部分4.1 Mapping字段映射4.2 Setting索引配置4.3 Shard分片4.4 Document文档五、Elasticsearch 索引核心作用5.1 作用一统一数据组织与管理5.2 作用二构建倒排索引实现快速检索5.3 作用三分布式存储与扩展5.4 作用四高可用与故障转移5.5 作用五独立配置与性能调优六、如何管理 Elasticsearch 索引实战操作6.1 管理操作1创建索引最核心6.2 管理操作2查看所有索引6.3 管理操作3查看索引 Mapping6.4 管理操作4查看索引 Setting6.5 管理操作5修改索引副本数6.6 管理操作6关闭/打开索引6.7 管理操作7删除索引6.8 管理操作8重建索引数据迁移/分片修改6.9 管理操作9刷新索引立即让数据可搜索七、索引管理生产环境常用命令速查表八、索引设计与管理生产最佳实践8.1 合理设置主分片数8.2 合理设置副本数8.3 提前设置 Mapping8.4 禁止使用通配符删除索引8.5 大索引采用滚动索引九、总结索引核心要点文末总结总结The Begin点点关注收藏不迷路一、前言在 Elasticsearch 的世界里Index索引是数据存储的顶层容器是所有文档、分片、映射、配置的集合体。可以说没有索引就无法存储数据不会管理索引就无法运维 ES 集群。索引的设计与管理直接决定集群性能、数据安全、查询效率。本文从索引定义、核心结构、原理流程图、常用管理操作、生产最佳实践全方位讲解让你彻底掌握 ES 索引。二、Elasticsearch Index基础定义2.1 什么是 Index 索引Index索引Elasticsearch 中具有相同字段结构、用于高效检索的文档集合是逻辑容器 物理文件的统一体。简单理解对应 MySQL 中的数据库Database对应 MongoDB 中的集合Collection一个索引包含大量具有相同结构的 JSON 文档2.2 索引核心特点具有独立 Mapping 结构字段类型、分词器由多个主分片 副本分片组成分布式存储支持增删改查、动态配置支持设置副本数、刷新间隔、分片分配等对外提供统一的文档读写服务2.3 ES 索引与数据库概念对比Elasticsearch关系型数据库 MySQLIndex索引Database数据库Document文档Row一行数据Field字段Column列Mapping映射Table Schema表结构Shard分片分区/分表三、Elasticsearch Index内部架构与流程图3.1 索引内部组成结构图Index 索引主分片1主分片2主分片3副本1副本2副本3Mapping 映射Setting 设置大量 Document 文档3.2 索引工作流程图文档写入客户端写入文档协调节点根据ID路由到主分片写入索引对应的分片同步到副本分片写入成功可被搜索查询3.3 流程一句话总结索引 分片物理 Mapping结构 Setting配置 文档数据写入路由 → 分片 → 副本 → 可检索四、Index 索引核心组成部分4.1 Mapping字段映射定义索引中字段的数据类型text / keyword / integer / date / boolean 等定义分词器、是否索引、是否存储4.2 Setting索引配置配置索引的分布式与性能参数主分片数number_of_shards副本数number_of_replicas刷新间隔refresh_interval分片分配、路由等4.3 Shard分片索引的物理存储单元主分片写入数据副本分片备份、查询、容灾4.4 Document文档索引存储的真实业务数据JSON 格式最小数据单元五、Elasticsearch 索引核心作用5.1 作用一统一数据组织与管理将同类数据如用户数据、订单数据归类存储方便业务隔离与管理。5.2 作用二构建倒排索引实现快速检索对文档字段分词、建立倒排索引实现海量数据毫秒级查询。5.3 作用三分布式存储与扩展通过分片机制将数据分散到多节点支持PB级海量存储。5.4 作用四高可用与故障转移通过副本机制保证节点宕机不丢失数据、不中断服务。5.5 作用五独立配置与性能调优不同索引可独立设置分片、副本、刷新间隔实现业务级性能优化。六、如何管理 Elasticsearch 索引实战操作索引管理包含创建、查询、修改、删除、打开/关闭、复制、重建等操作。6.1 管理操作1创建索引最核心PUT /my_index { settings: { number_of_shards: 3, // 主分片数创建后不能改 number_of_replicas: 1 // 副本数可动态修改 }, mappings: { properties: { name: { type: text }, age: { type: integer }, city: { type: keyword } } } }6.2 管理操作2查看所有索引GET /_cat/indices?v关键字段健康状态、索引名、文档数、磁盘大小、分片数、副本数。6.3 管理操作3查看索引 MappingGET /my_index/_mapping6.4 管理操作4查看索引 SettingGET /my_index/_settings6.5 管理操作5修改索引副本数PUT /my_index/_settings { number_of_replicas: 2 }6.6 管理操作6关闭/打开索引# 关闭不再读写释放资源 POST /my_index/_close # 打开 POST /my_index/_open6.7 管理操作7删除索引DELETE /my_index⚠️ 危险操作生产环境谨慎执行。6.8 管理操作8重建索引数据迁移/分片修改主分片数无法修改必须通过重建索引实现POST /_reindex { source: { index: old_index }, dest: { index: new_index } }6.9 管理操作9刷新索引立即让数据可搜索POST /my_index/_refresh七、索引管理生产环境常用命令速查表操作请求方式命令创建索引PUT/index_name查看所有索引GET/_cat/indices?v查看映射GET/index_name/_mapping修改副本PUT/index_name/_settings关闭索引POST/index_name/_close删除索引DELETE/index_name重建索引POST/_reindex刷新索引POST/index_name/_refresh八、索引设计与管理生产最佳实践8.1 合理设置主分片数单分片大小推荐30GB~50GB主分片数一旦设置永久无法修改预估数据量 分片数 × 50GB8.2 合理设置副本数测试环境0生产环境1~2副本越多查询性能越高但写入越慢8.3 提前设置 Mapping禁止自动映射避免字段类型错误导致查询失败。8.4 禁止使用通配符删除索引禁止执行DELETE /*防止误删所有索引。8.5 大索引采用滚动索引日志类数据使用index-2025-01-01按天滚动方便管理与删除。九、总结索引核心要点Index 是 ES 顶层数据容器对应数据库索引 分片 Mapping Setting 文档主分片不可修改副本可动态修改管理操作增删改查、关闭、重建、刷新索引设计优劣直接决定集群性能文末总结Index 索引是 Elasticsearch 存储与查询的核心载体。理解索引结构 理解 ES 数据存储原理。索引管理是运维最常用、最重要的能力生产环境必须合理规划分片、Mapping、副本规范索引管理才能让 ES 集群稳定、高效、安全运行总结Index 定义ES顶层数据容器同类文档的集合对应数据库索引组成分片物理 Mapping字段 Setting配置 文档数据核心作用数据组织、快速检索、分布式存储、高可用、性能调优管理操作创建、查询、修改、删除、关闭、重建、刷新生产规则主分片合理规划、提前定义Mapping、谨慎删除索引The End点点关注收藏不迷路
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2531531.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!