Elasticsearch(ES)核心知识点

Elasticsearch(ES)核心知识点


1. 核心概念

  • Document:文档,一条数据(JSON)
  • Field:字段,文档里的属性
  • Index:索引,相当于数据库的"库/表"
  • Type:类型,7.x 已废弃,一个索引只对应一类数据
  • Shard(分片):索引切分成多个分片,实现分布式存储与并发
  • Replica(副本):分片的备份,保证高可用、提高查询吞吐量
  • Node:节点,一个 ES 实例
  • Cluster:集群,多个节点组成
  • Master Node:主节点,管理集群元数据、分片分配
  • Data Node:数据节点,存储数据、执行查询
  • Coordinating Node:协调节点,接收请求、分发、聚合结果
  • Segment:段文件,底层最小存储单位,不可变
  • Translog:预写日志,防止宕机丢数据

2. 核心架构原理

  • 索引被分为多个 主分片(Primary Shard)
  • 每个主分片有多个 副本分片(Replica)
  • 读写都走主分片,副本可分担查询
  • 分片均匀分布在不同节点,实现水平扩展

3. 写入流程(极简)

  1. 数据先写 内存缓冲区
  2. 同时写 Translog(防止宕机丢失)
  3. 定时 refresh → 生成 segment,可被搜索
  4. 多次 segment 后台 merge 合并
  5. 定时 flush → 数据落盘,清空 Translog

4. 查询流程(极简)

  1. 请求发给协调节点
  2. 分发到对应分片
  3. 各分片返回匹配结果
  4. 协调节点聚合、排序、分页
  5. 返回最终结果

5. 分词(ES 核心能力)

  • 对文本进行切词,用于全文检索
  • 中文必须用:IK 分词器
    • ik_max_word:最细粒度拆分
    • ik_smart:粗粒度拆分

6. 高可用机制

  • 多节点 + 分片副本
  • 某个节点挂掉:
    • 对应分片的副本自动提升为主分片
    • 集群自动 rebalance
  • 无单点故障

7. 数据可靠性(防丢)

  • Translog 保证写入不丢失
  • 副本机制保证硬件故障不丢
  • 底层基于 Lucene,持久化安全

8. 常见查询类型

  • match:全文检索(分词后匹配)
  • term:精确匹配(不分词)
  • match_phrase:短语匹配
  • range:范围查询
  • bool:组合查询(must / should / must_not / filter)
  • aggregation:聚合分析(分组、统计、去重)

9. 深度分页问题

  • from + size 过大会深度翻页,性能极差
  • 解决方案:
    • search_after(推荐,生产用)
    • scroll`(适合大量导出)

10. 写入优化

  • 批量写入:bulk
  • 关闭刷新:加大 refresh_interval
  • 副本数调为 0 后再恢复
  • 合理设置分片数

11. 查询优化

  • 避免 * 前缀模糊查询
  • 使用 filter 代替 query(不算分,缓存友好)
  • 字段设置合理类型(keyword 不分词)
  • 避免大结果集返回
  • 利用路由(routing)定位分片

12. 脑裂问题(老生常谈)

  • 原因:网络问题导致多个节点选主

  • 解决:

    复制代码
    discovery.zen.minimum_master_nodes: (master节点数/2)+1

    新版已内置更好的选举机制,基本不会出现。


13. 典型应用场景

  • 搜索引擎(商城、APP 搜索)
  • 日志分析(ELK)
  • 用户行为分析
  • 地理信息检索(附近的店)
  • 报表聚合统计

14. 一句话背诵版

  • 分片实现分布式,副本实现高可用
  • 写入靠translog防丢,查询靠分词提速
  • 全文检索用match,精确匹配用term
  • 深度分页用search_after
  • 大查询用filter,小结果用must

相关推荐
测功机之家11 小时前
精密传动,可靠测试:杭州索川科技减速机测试台解决方案深度解析
大数据·网络·科技
科力锐品牌君11 小时前
医院数据存储“乱象”:如何兼顾兼容、高效与合规?
大数据·安全·备份·存储·存储方案
联盟分享专家11 小时前
品牌如何零代码搭建专属联盟营销项目,实现被动增长?
大数据·人工智能
Chockmans12 小时前
春秋云境CVE-2023-51385(保姆级教学)
大数据·web安全·elasticsearch·搜索引擎·网络安全·春秋云境·cve-2023-51385
晚风吹长发12 小时前
探索软件测试——用例篇
大数据·linux·服务器·压力测试·测试·测试方法
weishuangyun12312 小时前
小程序卖货平台搭建哪家好?专业卖货小程序服务商推荐
大数据
开目软件12 小时前
2026年MOM系统选型指南:离散制造数字化升级的破局之道
大数据·mom·工业软件·开目软件·开目mom
Elasticsearch12 小时前
一张图片胜过 1.5 倍的文字:我们从产品搜索 embeddings 基准测试中学到了什么
elasticsearch
一招合理12 小时前
Accordion:一种HBase内存压缩算法
大数据·数据库·hbase
Cloudtechnology13 小时前
GEO服务商哪家好?2026年头部服务商技术路线、行业适配与ROI数据全解析
大数据·人工智能