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

相关推荐
计算机编程-吉哥4 小时前
大数据毕业设计-基于大数据的NBA美国职业篮球联赛数据分析可视化系统(高分计算机毕业设计选题·定制开发·真正大数据·机器学习毕业设计)
大数据·毕业设计·计算机毕业设计选题·机器学习毕业设计·大数据毕业设计·大数据毕业设计选题推荐·大数据毕设项目
计算机编程-吉哥4 小时前
大数据毕业设计-基于大数据的BOSS直聘岗位招聘数据可视化分析系统(高分计算机毕业设计选题·定制开发·真正大数据·机器学习毕业设计)
大数据·毕业设计·计算机毕业设计选题·机器学习毕业设计·大数据毕业设计·大数据毕业设计选题推荐·大数据毕设项目
RunningShare6 小时前
从“国庆景区人山人海”看大数据处理中的“数据倾斜”难题
大数据·flink
Hello.Reader7 小时前
Flink 执行模式在 STREAMING 与 BATCH 之间做出正确选择
大数据·flink·batch
文火冰糖的硅基工坊9 小时前
《投资-99》价值投资者的认知升级与交易规则重构 - 什么是周期性股票?有哪些周期性股票?不同周期性股票的周期多少?周期性股票的买入和卖出的特点?
大数据·人工智能·重构·架构·投资·投机
Elastic 中国社区官方博客9 小时前
Elasticsearch:使用推理端点及语义搜索演示
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
数据智能老司机10 小时前
数据工程设计模式——冷热数据存储
大数据·设计模式·架构
Hello.Reader13 小时前
Flink 连接器与格式thin/uber 制品、打包策略与上线清单
大数据·flink
隐语SecretFlow13 小时前
【隐私计算科普】如何实现可证明安全?
大数据·开源·边缘计算
lisw0514 小时前
AIoT(人工智能物联网):融合范式下的技术演进、系统架构与产业变革
大数据·人工智能·物联网·机器学习·软件工程