2024.2.25 -ElasticSearch 进阶

倒排索引

Elasticsearch的倒排索引机制是通过将文档中出现的词汇与它们所在的文档ID关联起来,实现快速查找包含特定词汇的文档。下面是一个具体的例子来说明倒排索引的工作原理:

假设我们有一个简单的文章集合,包含以下三篇文章:

1. 文章A:标题为“新冠病毒疫情最新动态”,内容为“关于全球COVID-19疫情的最新进展报告”
2. 文章B:标题为“春季流感预防措施”,内容为“如何在春季有效预防流感病毒传播”
3. 文章C:标题为“疫苗接种的重要性”,内容为“讨论不同类型的疫苗及其在防疫中的关键作用”

**构建倒排索引过程:**

对于每个文档,Elasticsearch会执行以下步骤:
- 分词(Tokenization):对文档的内容进行分词处理。例如,文章A的标题和内容分别会被分成如下的关键词:
  - 标题:“新冠”、“病毒”、“疫情”、“最新”、“动态”
  - 内容:“全球”、“COVID-19”、“疫情”、“最新”、“进展”、“报告”

- 创建倒排索引条目:
  - 对于每个唯一词汇,记录它出现在哪些文档以及在文档中的位置信息:
    - “新冠” -> [文档A, 标题]
    - “病毒” -> [文档A, 标题], [文档A, 内容]
    - “疫情” -> [文档A, 标题], [文档A, 内容]
    - ...
    - “预防” -> [文档B, 标题]
    - “疫苗” -> [文档C, 标题]

**查询使用倒排索引:**

现在,如果我们想要搜索包含关键词“疫情”的所有文章,Elasticsearch可以直接查看倒排索引,找到关键词“疫情”对应的文档列表,即:

- “疫情” -> [文档A, 标题], [文档A, 内容]

因此,搜索引擎立即知道文档A包含了这个词,并且可以在毫秒级的时间内返回搜索结果。

总结来说,Elasticsearch的倒排索引使得无需扫描整个文档集合就能迅速定位到含有特定词汇的文档,极大地提高了全文检索的速度和效率。

ES的架构

角色:client Esmaster 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/410902.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PyTorch][chapter 18][李宏毅深度学习]【无监督学习][ VAE]

前言: VAE——Variational Auto-Encoder,变分自编码器,是由 Kingma 等人于 2014 年提出的基于变分贝叶斯(Variational Bayes,VB)推断的生成式网络结构。与传统的自编码器通过数值的方式描述潜在空间不同,它…

通天星CMSV6 车载视频监控平台信息泄露漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

基于AI将普通RGB图像转换为苹果Vision Pro支持的空间照片

将 RGB 图像转换为空间图片 一、引言 随着AR和VR技术的普及,空间照片格式(.HEIC)逐渐受到关注。这种格式允许用户在AR/VR设备上体验到更为真实的立体空间效果。为了让更多的普通图片也能享受这种技术,我们开发了这款可以将普通RGB图像转换为苹果Vision Pro支持的.HEIC格式的…

怎么看伦敦银走势图?这个信号威力无穷.....

伦敦银走势图中的黄金交叉是一种特殊的技术信号,它一般是指较短期的移动平均线向上穿越较长期的移动平均线。在许多情况下,金叉都被视为看涨的信号,因为移动平均线所衡量的是银价在某个时段内的均价——从这个角度看,短期平均线位…

【C++】类与对象(运算符重载、const成员、取地址重载)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:http://t.csdnimg.cn/eCa5z 目录 赋值运算符重载 运算符重载 赋值运算符重载 前置和后置 const成员 取地址及const取地址操作符重载 前…

如何实现多账户管理?海外代理IP推荐

伴随着互联网的发展,目前越来越多的用户开始拥有不止一个社交媒体或者电商平台等类型的账号,但实际上不论是社交平台还是电商平台对于用户的多账号使用行为都十分的抵制。如果用户不采取任何措施直接长时间进行多账户操作的话,可能会遇到以下…

【读文献】DynamicBind生成式模型预测蛋白配体复合物

published at nature communication (2024.01.24) code link paper link 摘要 尽管在预测静态蛋白质结构方面取得了重大进展,但蛋白质的内在动态性,受到配体调节,对于理解蛋白质功能和促进药物发现至关重要。 传统的对接方法,常…

抖音视频评论采集软件|抖音数据抓取工具

抖音视频评论采集软件是一款基于C#开发的高效、便捷的工具,旨在为用户提供全面的数据采集和分析服务。该软件不仅支持通过关键词进行搜索抓取,还能够通过分享链接进行单个视频的抓取和下载,让用户轻松获取抖音视频评论数据。 其中&#xff0c…

备战蓝桥杯---动态规划(应用3之空间优化)

话不多说,直接看题: 我们不妨把问题抽象一下: 首先,我们由裴蜀定理知道如果两个数互质,那么axbyc一定有整数解(只要c为1的倍数也就是整数),因此问题就转换为求选一些数使他们gcd1&a…

破译一致性难题:Raft日志复制技术及成员变更问题详解

一、日志复制 Raft 算法是一种用于实现分布式系统中一致性状态机复制的共识算法。在 Raft 中,日志复制是保证集群数据一致性的关键机制。每个节点(服务器)都维护着一个日志,其中包含一系列的日志条目(Log Entry&#x…

AI:139-基于深度学习的语音指令识别与执行

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

2024年开学季推荐:数码装备购物清单,校园生活必备神器

随着开学的钟声即将敲响,全新的学年画卷正在缓缓展开。它不仅承载着我们对知识的渴望和对未来的憧憬,更是我们挥洒青春、展示才华的舞台。在这个充满无限可能的新起点,每一位学子都怀着期待,准备踏上成长的征程。然而为了更好地适…

图解 Electron 进程模型

此前,已经介绍了《如何从 0 开始,创建一个 Electron 的 App》,每个人就有了一个梦开始的地方。如果想实现一个功能丰富的 App,了解一点基础知识,是非常必要的。比如,Electron 的进程模型。 一、简介 Chrome…

空指针和Void指针的基本概念和用法

前言:本文只是限于说明空指针与void指针的基本性质和用法,关于更深层次的用法,则不介绍,因为本人自己还没有搞懂!!! 1:空指针 1.1空指针的基本定义 定义:在C语言中,如…

APP自动化第一步:Appium环境搭建

一、安装Appium Python client包 1.直接cmd窗口输入pip install Appium-Python-Client 2.要确保安装匹配版本的selenium和appium 使用命令pip install selenium -U 首先进入网盘下载这三个软件的压缩包 二、安装Appium Server 1.双击打开压缩包Appium 2.双击进行安装。 3.点…

unity导航网格无法烘培到台阶和斜坡

如图是我在b站学Unity导航网格时建的一个示例场景,本场景使用的为棱长1m的立方体,读者可以以此为参照度量其他物体大小。 可见导航网格根本无法烘焙到斜坡和台阶上,为解决问题我做了不少尝试,调整最大坡度和步高都没办法解决问题…

Kafka 面试八股题整理

前言:本文是博主自行收集的Kafka相关的八股文问题,博主还在准备暑期实习中,应该会持续更新.... 参考: 32 道常见的 Kafka 面试题你都会吗?附答案 【Kafka】10道不得不会的 Kafka 面试题 掌握这10个常见的Kafka经典面试…

openssl3.2 - crypto-mdebug被弃用后, 内存泄漏检查的替代方法

文章目录 openssl3.2 - crypto-mdebug被弃用后, 内存泄漏检查的替代方法概述笔记查看特性列表openssl3.2编译脚本 - 加入enable-crypto-mdebug看看有没有替代内存诊断的方法?main.cppmy_openSSL_lib.hmy_openSSL_lib.c备注备注这招不行啊显势调用默认上下文也不行END openssl3…

【设计模式】工厂模式、建造者模式、原型设计模式

文章目录 1、简单工厂模式2、工厂方法模式3、抽象工厂模式4、建造者模式5、原型设计模式 设计模式即总结出来的一些最佳实现。23种设计模式可分为三大类: 创建型模式:隐藏了创建对象的过程,通过逻辑方法进行创建对象,而不是直接n…

【python开发】面向对象高级和应用

这里写目录标题 一、继承(一)mro和c3算法(二)py2和py3区别(了解即可) 二、内置函数补充(一)callable:是否可以在后面加括号执行(二)super()&#…