Elasticsearch倒排索引

news/2025/4/2 5:41:02/

什么是倒排索引

倒排索引(Inverted Index)是一种将文档中的每个单词映射到包含该单词的文档列表上的数据结构

倒排索引的构建过程

文档1: “我爱吃苹果”
文档2: “我爱吃香蕉”
文档3: “我喜欢苹果和香蕉”
  • 文档分词:将文档中的文本内容进行切分,生成一系列的词项(tokens)。

文档1: ["我", "爱", "吃", "苹果"]
文档2: ["我", "爱", "吃", "香蕉"]
文档3: ["我", "喜欢", "苹果", "和", "香蕉"]
  • 建立词项列表:为每个唯一的词项创建一个列表,记录包含该词项的文档和位置。这样就形成了一个词项-文档映射。

  • 构建倒排表:创建一个包含所有词项的表,每个词项映射到其出现的文档ID及在文档中的位置。最终的结构类似于:

    • "我" -> [doc1, doc2, doc3]
      "爱" -> [doc1, doc2]
      "吃" -> [doc1, doc2]
      "苹果" -> [doc1, doc3]
      "香蕉" -> [doc2, doc3]
      "喜欢" -> [doc3]
      "和" -> [doc3]

查询过程

当用户进行搜索时,例如查询“苹果”,Elasticsearch会查找倒排索引,找到与“苹果”相关的文档列表(在本例中为doc1和doc3),并根据相关性(可能还会计算TF-IDF、BM25等评分模型)返回结果。

优化与扩展

  • 压缩:由于倒排索引可能会占用大量存储空间,通常会对其进行压缩以减少存储成本。

  • 分片和副本:为了提高并发访问能力和故障恢复,Elasticsearch允许把倒排索引分为多个分片(shard)和副本(replica),从而分散数据存储和请求处理的压力。


http://www.ppmy.cn/news/1520837.html

相关文章

jpg转gif,四款图片转化软件盘点!

在这个视觉为王的时代,一张静态的图片往往难以满足我们追求生动与趣味的心。想象一下,将平淡无奇的JPG图片转化为生动有趣的GIF动图,瞬间就能吸引无数眼球!今天,就让我们一起探索四款超实用的JPG转GIF图片转化软件&…

too many blocks in cooperative launch at cudaLaunchCooperativeKernel

在使用cudaLaunchCooperativeKernel时出现: cudaErrorCooperativeLaunchTooLarge (error 82) due to “too many blocks in cooperative launch” on CUDA API call to cudaLaunchCooperativeKernel. 问题: 在使用cudaLaunchCooperativeKernel时&…

ffmpeg音视频开发从入门到精通——ffmpeg实现音频抽取

文章目录 FFmpeg 实现音频流抽取1. 包含FFmpeg头文件与命名空间声明2. 主函数与参数处理3. 打开输入文件4. 获取文件信息5. 查找音频流6. 分配输出文件上下文7. 猜测输出文件格式8. 创建新的音频流9. 打开输出文件10. 写入文件头信息11. 读取并写入音频数据12. 写入文件尾部信息…

k8s集群环境搭建(一主二从--kubeadm安装)

前置条件 版本:CentOS Linux release 7.5.1804 (Core) 内存:2G CPU:2 主机名解析 vim /etc/hosts 192.168.109.100 master 192.168.109.101 node1 192.168.109.102 node2时间同步,这里直接使用chronyd服务从网络同步时间syste…

ESP32-IDF http请求崩溃问题分析与解决

文章目录 esp32s3 http请求崩溃问题代码讨论修正后不崩溃的代码esp32相关文章 ESP32S3板子, 一运行http请求百度网站的例子, 就会panic死机, 记录下出现及解决过程. esp32s3 http请求崩溃 一执行http请求的perform就会崩溃, 打印如图 ESP32-IDF 的http请求代码是根据官方dem…

【亚马逊云】注册登录AWS 合作伙伴网络(APN)操作流程

文章目录 1、什么是APN?2、登录AWS官网3、加入 AWS 合作伙伴网络4、登录 AWS 合作伙伴网络5、常见问题5.1 忘记密码5.2 修改信息 6、活动上新1️⃣「云上驰骋,考证无忧」云从业者认证考试优惠活动2️⃣ Amazon 动手实验3️⃣AWS Certified 助理级认证挑战…

[Tools: LoRA] Diffusers中Stable Diffusion的实现

实现底层原理 Diffusers中的Attention操作实现在AttnProcessor类(diffusers.models.attention_processor.py),里面定义了单次Attention操作。添加LoRA,本质上是用LoRAAttnProcessor类替换AttnProcessor类。LoRAAttnProcessor中新…

强连通分量专题总结

~~~~~ 总题单链接 ~~~~~ 对于只需要考虑强连通分量的题,就可以用强连通分量(大雾 ~~~~~ 我想了很久,确实没有什么好说的 … \ldots …