HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
  • 《可观测和监控》
  • 《k8s学习心得》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
  • 《可观测和监控》
  • 《k8s学习心得》
随笔
关于作者
  • 《LearnJavaToFindAJob》

    • 导读

    • 【初级】6~12k档

    • 【中级】12k-26k档

      • JVM进阶

      • Java进阶

      • MySQL

      • 中间件

        • Redis

          • Redis为什么删除数据后,内存占用依然很高?
          • Redis为什么要使用单线程,新版本为什么引入多线程?
          • Redis为什么要把字符串设计成SDS?
          • Redis主从、哨兵、集群的区别
          • Redis主从同步的原理
          • Redis之缓存击穿、穿透、雪崩
          • Redis分布式事务锁的原理
          • Redis的使用规范有哪些?
          • Redis的删除策略和内存淘汰机制
          • Redis的持久化机制,RDB和AOF
          • Redis的监控指标有哪些?
          • 一致性hash算法
        • Docker面试题
        • Dubbo面试题
        • Kafka如何避免消失丢失
        • Netty面试题
        • Nginx面试题
        • Tomcat面试题
        • Zookeeper面试题
        • elasticsearch面试题
        • k8s面试题
        • 消息队列面试题
      • 算法

      • 高阶

    • 【高级】26k+档

    • 大厂面试题

    • 求职建议

    • 面经

  • LearnJavaToFindAJob
  • 【中级】12k-26k档
  • 中间件
#elasticsearch #面试题
HaC
2026-07-01
目录

elasticsearch面试题

# 1、层级对应关系(最容易记忆的类比)

Elasticsearch MySQL 关系库 说明
Index(索引) Database 数据库 逻辑数据集合,存放一类业务数据
Type(7.0 后废弃) Table 数据表 ES 7.x 移除多 type,一个 Index 只存一类文档
Doc(Document 文档) Row 单行记录 Index 里最小数据单元,一条业务数据
Field(字段) Column 列 Doc 内部的 key-value 字段,如 name、age

重要版本提示:ES 7.0 彻底删除多 Type,一个 Index 对应一类实体,不再像 MySQL 一个库多张表。

示例Doc:

{
  "_id": "1001", // 文档唯一标识(主键,可自定义/自动生成)
  "_source": { // 原始业务数据
    "name": "张三",
    "age": 22,
    "city": "广州"
  }
}

# 2、倒排索引如何理解

# 1. 正排索引(行存储,MySQL / 原始文档逻辑)

文档 → 字段内容

doc1: name:张三, city:北京, age:22
doc2: name:李四, city:上海, age:25
doc3: name:张三, city:上海, age:30

查找需求:查所有叫「张三」的人

正排逻辑:遍历 doc1、doc2、doc3,逐个读取 name 字段对比,数据量大时全量扫描,极慢。

# 2. 倒排索引(ES 核心,反向映射)

词条 term → 包含该词条的文档列表

分词后构建映射表:

张三 → [doc1, doc3]
李四 → [doc2]
北京 → [doc1]
上海 → [doc2, doc3]

查「张三」:直接定位 [doc1, doc3],不用遍历全部文档,全文检索秒级匹配。

ES 默认 text/keyword/数值/日期 都会开启倒排,只有手动 index:false 才不生成;

#elasticsearch#面试题
上次更新: 2026-07-01 15:23:28
最近更新
01
脏读、幻读
07-01
02
G1、ZGC有了解过吗?
07-01
03
javaagent的类加载器
07-01
更多文章>
Theme by Vdoing | Copyright © 2020-2026 HaC
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式