Elasticsearch 基本概念全解(18个核心概念+图解+举例+小白秒懂)
- 一、前言
- 二、Elasticsearch 核心概念整体架构图
- 三、Elasticsearch 18 个核心概念(举例说明)
- 1. Cluster(集群)
- 2. Node(节点)
- 3. Index(索引)
- 4. Document(文档)
- 5. Field(字段)
- 6. Mapping(映射)
- 7. Shard(分片)
- 8. Replica(副本)
- 9. Lucene
- 10. Text 类型
- 11. Keyword 类型
- 12. Analyzer(分词器)
- 13. inverted Index(倒排索引)
- 14. Full-text Search(全文检索)
- 15. Exact Match(精准匹配)
- 16. GET /_cat/indices
- 17. GET /index/_doc/1001
- 18. RESTful API
- 四、ES 与 MySQL 概念对比表(最容易理解)
- 五、ES 核心概念工作流程图
- 文档写入流程
- 文档查询流程
- 六、真实案例:一个完整 ES 业务模型
- 场景:电商商品搜索
- 七、总结:ES 10 大核心概念口诀
- 文末总结
- 总结
🌺The Begin🌺点点关注,收藏不迷路🌺 |
一、前言
Elasticsearch 是一个分布式、RESTful 风格的全文搜索引擎,但它的概念多、抽象、容易混淆。
90% 的新手学不会 ES,都是因为没搞懂最基本的概念!
本文一次性整理ES 所有必须掌握的核心概念,用通俗解释 + 生活举例 + 流程图 + 真实示例,让你零基础也能彻底理解。
二、Elasticsearch 核心概念整体架构图
一句话总结:
集群 = 多个节点 → 节点 = 多个索引 → 索引 = 多个分片 + 多个文档 → 文档 = 多个字段
三、Elasticsearch 18 个核心概念(举例说明)
1. Cluster(集群)
- 概念:多个节点一起工作,共享数据,对外统一服务。
- 举例:一个 ES 集群 =一个图书馆总馆。
- 示例:
cluster.name: my-es-cluster
2. Node(节点)
- 概念:一个 ES 实例 = 一个节点 = 一台服务器。
- 举例:一个节点 =图书馆里的一个分馆。
- 角色:主节点、数据节点、协调节点。
3. Index(索引)
- 概念:一类相似数据的集合,对应 MySQL 的数据库。
- 举例:
user_index(用户库)order_index(订单库)product_index(商品库)
- 示例:
PUT /user_index
4. Document(文档)
- 概念:ES 最小数据单元,JSON 格式,对应 MySQL 的一行数据。
- 举例:一个用户信息 = 一个文档。
{"id":1001,"name":"张三","age":25}5. Field(字段)
- 概念:文档里的每一项数据,对应 MySQL 的一列。
- 举例:
name、age、city都是字段。
6. Mapping(映射)
- 概念:索引的结构定义,规定字段类型、是否分词。
- 举例:相当于 MySQL 的表结构(Schema)。
- 示例:
name是 text,age是 integer。
7. Shard(分片)
- 概念:索引分成多个小块,分布式存储,提高性能和容量。
- 举例:一本厚书拆成 3 薄本,放在 3 个书架。
- 特点:一个分片 = 一个 Lucene 实例。
8. Replica(副本)
- 概念:分片的备份,高可用、防止数据丢失。
- 举例:书的复印件,原件丢了用复印件。
9. Lucene
- 概念:ES 的底层核心引擎,负责倒排索引、检索。
- 举例:Lucene = 汽车发动机,ES = 整车。
10. Text 类型
- 概念:长文本,分词,用于全文检索。
- 举例:文章内容、商品描述、评论。
11. Keyword 类型
- 概念:短字符串,不分词,用于精确匹配、聚合。
- 举例:手机号、状态、ID、城市、姓名。
12. Analyzer(分词器)
- 概念:把文本切分成词语。
- 举例:
我爱中国→ 我 / 爱 / 中国。
13. inverted Index(倒排索引)
- 概念:ES 快速搜索的核心原理,词语 → 文档。
- 举例:字典目录,通过拼音找汉字。
14. Full-text Search(全文检索)
- 概念:输入关键词,返回包含关键词的所有文档。
- 举例:百度搜索、商品搜索。
15. Exact Match(精准匹配)
- 概念:完全相等才匹配。
- 举例:查询手机号
13800138000。
16. GET /_cat/indices
- 概念:查看所有索引。
- 作用:运维最常用命令。
17. GET /index/_doc/1001
- 概念:根据 ID 查询文档(最快查询)。
18. RESTful API
- 概念:ES 提供 HTTP 接口,使用 GET/PUT/POST/DELETE。
四、ES 与 MySQL 概念对比表(最容易理解)
| Elasticsearch | MySQL | 举例 |
|---|---|---|
| Index(索引) | Database(库) | user_index |
| Document(文档) | Row(行) | 一个用户 |
| Field(字段) | Column(列) | name、age |
| Mapping(映射) | Table Schema(表结构) | 字段类型定义 |
| Shard(分片) | 分库分表 | 数据拆分 |
五、ES 核心概念工作流程图
文档写入流程
文档查询流程
六、真实案例:一个完整 ES 业务模型
场景:电商商品搜索
- Cluster:电商 ES 集群
- Node:3 个节点(node-1、node-2、node-3)
- Index:
product_index(商品索引) - Shard:3 个主分片
- Replica:1 个副本
- Document:一个商品 = 一个文档
- Field:商品名称、价格、分类
- Mapping:
product_name:text(全文搜索)price:double(范围查询)category:keyword(精准过滤)
- 查询:搜索
手机→ 全文检索 - 过滤:分类
电子产品→ 精准匹配
七、总结:ES 10 大核心概念口诀
- 集群是全家,节点是成员
- 索引是库,文档是行
- 字段是列,映射是结构
- 分片提高性能,副本保证安全
- Lucene是引擎,倒排索引是核心
- text分词搜内容,keyword精准查状态
- 全文检索像百度,精准匹配像查身份证
文末总结
本文涵盖Elasticsearch 所有最基础、最重要、面试必问的概念:
Cluster、Node、Index、Document、Field、Mapping、Shard、Replica、Lucene、Text/Keyword、倒排索引。
把这些概念搞懂,你就已经入门 Elasticsearch 了!
总结
- ES 是分布式搜索引擎,底层基于 Lucene
- 索引=库,文档=行,字段=列,映射=表结构
- 分片=拆分,副本=备份
- Text 分词搜内容,Keyword 精准查状态
- 所有搜索依靠倒排索引
需要我为你整理ES 入门学习路线图 + 常用命令速查表吗?
🌺The End🌺点点关注,收藏不迷路🌺 |