什么是 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
相关推荐
阿里云大数据AI技术10 小时前
构建高转化海外电商搜索:阿里云OpenSearch行业算法版的全链路智能优化策略实战
人工智能·搜索引擎
Databend10 小时前
2KB histogram 背后:Databend 如何低成本追踪长尾延迟
大数据·数据分析·agent
Databend12 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
Elasticsearch17 小时前
深入解析 simdvec:Elasticsearch 如何利用神经网络和视频编解码 CPU 指令实现向量搜索
elasticsearch
阿里云大数据AI技术1 天前
StarRocks x Fluss x Paimon湖流一体方案:构建秒级响应、湖流一体的实时数据引擎
大数据·人工智能
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
喵个咪2 天前
Go Wind UBA 拆解系列 - 架构总览:三服务、数据流与契约优先
大数据·后端·go
喵个咪2 天前
Go Wind UBA 拆解系列 - 多租户与安全:两套隔离机制的边界
大数据·后端·go
喵个咪2 天前
Go Wind UBA 拆解系列 - OLAP 与 SQL 硬核:25 个分析模型怎么落地
大数据·后端·go
喵个咪2 天前
Go Wind UBA 拆解系列 - SDK 与采集层:从浏览器到 Kafka
大数据·后端·go