什么是 Elasticsearch 倒排索引

Elasticsearch 倒排索引

核心定义

倒排索引是 ES 底层核心数据结构,作用是根据关键词快速找到对应文档,是 ES 检索速度快的根本原因。

对比正向索引:

  1. 正向索引 like 该文档包含哪些词
    缺点:检索要遍历全部文档,速度极慢
  2. 倒排索引:中间表 → 包含该词的所有文档ID
    优点:先查词,直接锁定文档,检索高效

示例

文档ID 文档内容
1 深入理解 Java 核心技术
2 深入理解 Java 虚拟机
3 Java 编程思想

步骤1:分词

用分词器把文本切割为最小检索单元,示例分词结果:深入、理解、Java、核心、技术、虚拟机、编程、思想

步骤2:生成倒排表

以词条为键,存储出现过该词的文档ID

词条 对应文档ID
深入 1,2
理解 1,2
Java 1,2,3
核心 1
技术 1
虚拟机 2
编程 3
思想 3

倒排索引的优势

  1. 查询速度快:直接通过词条匹配文档,无需全量扫描,这是核心
  2. 支持各类复杂检索:短语匹配、模糊查询、通配符等
  3. 聚合统计高效:方便统计词频、分组聚合
  4. 存储占用低:底层通过 VB Encoding、Simple9 等算法压缩存储

执行流程大致意思

  1. 检索关键词:Java
    流程:查询倒排表词条Java → 获取文档 1、2、3
  2. 检索关键词:虚拟机
    流程:查询倒排表词条虚拟机 → 获取文档 2
相关推荐
小田学Python14 小时前
工具调用:让 Agent 从“说”到“做”
大数据·大模型·agent·ai工具·deepseek
GrowingIO技术社区18 小时前
用户行为分析怎么做?从业务目标到改进验证的完整流程
大数据·数据挖掘·数据分析
瑞克-桑切斯21 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
演艺大赏1 天前
NiFi 起不来、登不上、节点被挤掉:一份按日志定位的排错清单
大数据
freejackman1 天前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
wafrdggh1 天前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序
大大大大晴天2 天前
OLTP、OLAP、数据湖、数据集市、湖仓一体到底是什么关系?
大数据
正在走向自律2 天前
AI Agent 落地这一年:从“能跑起来”到“敢放出去”
大数据·人工智能·ai agent·智能体·mcp·a2a
freejackman2 天前
【实战二】字段级血缘追踪:拆解 AST 迷局,精准穿透函数链与子查询
大数据·数据库·sql
goujunwe2 天前
GEO 内容的“可摘录性”打磨技巧:段落、表格、小标题怎么写,方便大模型提取独立答案块
大数据·人工智能