如何讲解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能秒级找到包含这个词的所有文档。

总结一句话

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

相关推荐
80530单词突击赢1 分钟前
JavaWeb进阶:SpringBoot核心与Bean管理
java·spring boot·后端
爬山算法21 分钟前
Hibernate(87)如何在安全测试中使用Hibernate?
java·后端·hibernate
WeiXiao_Hyy38 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
苏渡苇44 分钟前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
long3161 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
rannn_1111 小时前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
短剑重铸之日2 小时前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
倒流时光三十年2 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
Dragon Wu3 小时前
Spring Security Oauth2.1 授权码模式实现前后端分离的方案
java·spring boot·后端·spring cloud·springboot·springcloud
一个有梦有戏的人3 小时前
Python3基础:进阶基础,筑牢编程底层能力
后端·python