如何讲解es中的倒排索引我是一个小白给我解释

什么是倒排索引?

倒排索引(Inverted Index)是一种让搜索变快的技术,是ES和大多数搜索引擎的核心。

1. 正排索引 vs 倒排索引

  • 正排索引

    记录"每个文档里有哪些词"

    比如:

    • 文档1:我 爱 北京 天安门
    • 文档2:北京 欢迎 你
    • 文档3:我 爱 你 中国
  • 倒排索引

    记录"每个词在哪些文档里出现过"

    比如:

    • 我:文档1、文档3
    • 爱:文档1、文档3
    • 北京:文档1、文档2
    • 你:文档2、文档3
    • 天安门:文档1
    • 欢迎:文档2
    • 中国:文档3

2. 为什么要用倒排索引?

假如你要查"北京"这个词在哪些文档里出现过:

  • 用正排索引:要把所有文档都看一遍,效率很低。
  • 用倒排索引:直接查"北京"这个词,立刻知道是文档1和文档2,非常快!

3. 形象比喻

倒排索引就像一本"词语字典",

你查一个词,字典会告诉你这个词在哪些文章里出现过。

4. 在ES中的作用

  • ES把每个文档分词后,建立倒排索引。
  • 当你搜索一个词时,ES能秒级找到包含这个词的所有文档。

总结一句话

倒排索引就是"词到文档"的映射表,让搜索变得又快又高效。

相关推荐
brzhang32 分钟前
我操,终于有人把 AI 大佬们 PUA 程序员的套路给讲明白了!
前端·后端·架构
wan_da_ren3 小时前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端
【本人】3 小时前
Django基础(一)———创建与启动
后端·python·django
lifallen3 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
liupenglove3 小时前
自动驾驶数据仓库:时间片合并算法。
大数据·数据仓库·算法·elasticsearch·自动驾驶
你的人类朋友4 小时前
【✈️速通】什么是SIT,什么是UAT?
后端·单元测试·测试
野生技术架构师4 小时前
MySQL数据实时同步到Elasticsearch的高效解决方案
数据库·mysql·elasticsearch
risc1234565 小时前
【Lucene/Elasticsearch】 数据类型(ES 字段类型) | 底层索引结构
elasticsearch
程序无bug6 小时前
后端3行代码写出8个接口!
java·后端
绝无仅有6 小时前
使用LNMP一键安装包安装PHP、Nginx、Redis、Swoole、OPcache
后端·面试·github