分布式系列教程(31) -ElasticSearch倒排索引

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 分布式系列教程(31) -ElasticSearch倒排索引

正向索引

正排表 : 以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档

这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于维护,因为索引是基于文档建立的。

  • 若是有新的文档加入,直接为该文档建立一个新的索引块,挂接在原来索引文件的后面。
  • 若是有文档删除,则直接找到该文档号文档对应的索引信息,将其直接删除。

但是在查询的时候需对所有的文档进行扫描以确保没有遗漏,这样就使得检索时间大大延长,检索效率低下。

尽管正排表的工作原理非常的简单,但是由于其检索效率太低,除非在特定情况下,否则实用性价值不大。

倒排索引

倒排表 : 以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况

由于每个字或词对应的文档数量在动态变化,所以倒排表的建立和维护都较为复杂,但是在查询的时候由于可以一次得到查询关键字所对应的所有文档,所以效率高于正排表。

在全文检索中,检索的快速响应是一个最为关键的性能,而索引建立由于在后台进行,尽管效率相对低一些,但不会影响整个搜索引擎的效率。

举例

正排索引是从文档到关键字的映射(已知文档求关键字),倒排索引是从关键字到文档的映射(已知关键字求文档)。

例如文档内容:

序号 内容
1 小俊是一家科技公司创始人,开的汽车是奥迪a8l,加速爽。
2 小薇是一家科技公司的前台,开的汽车是保时捷911。
3 小红买了小薇的保时捷911,加速爽。
4 小明是一家科技公司开发主管,开的汽车是奥迪a6l,加速爽。
5 小军是一家科技公司开发,开的汽车是比亚迪速锐,加速有点慢。

倒排索引会对以上文档内容进行关键词分词,可以使用关键词直接定位到文档内容:

单词ID 单词 倒排列表 docId
1 1,2,3,4,5
2 一家 1,2,4,5
3 科技公司 1,2,4,5
4 开发 4,5
5 汽车 1,2,3,5
6 奥迪 1,4
7 加速爽 1,3,4
8 保时捷 2,3
9 保时捷911 2
10 比亚迪 5
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
5月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
861 1
|
4月前
|
存储 安全 Linux
Elasticsearch Enterprise 9.0 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 9.0 (macOS, Linux, Windows) - 分布式搜索和分析引擎
214 0
|
4月前
|
存储 Linux iOS开发
Elasticsearch Enterprise 8.18 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 8.18 (macOS, Linux, Windows) - 分布式搜索和分析引擎
131 0
|
存储 JSON 数据库
Elasticsearch 分布式架构解析
【9月更文第2天】Elasticsearch 是一个分布式的搜索和分析引擎,以其高可扩展性和实时性著称。它基于 Lucene 开发,但提供了更高级别的抽象,使得开发者能够轻松地构建复杂的搜索应用。本文将深入探讨 Elasticsearch 的分布式存储和检索机制,解释其背后的原理及其优势。
707 5
|
10月前
|
存储 自然语言处理 数据库
Elasticsearch倒排索引
【11月更文挑战第2天】
204 1
|
10月前
|
存储 索引
Elasticsearch分布式架构
【11月更文挑战第2天】
154 1
|
10月前
|
测试技术 API 开发工具
ElasticSearch核心概念:倒排索引
ElasticSearch核心概念:倒排索引
165 6
|
自然语言处理 搜索推荐 数据库
高性能分布式搜索引擎Elasticsearch详解
高性能分布式搜索引擎Elasticsearch详解
300 4
高性能分布式搜索引擎Elasticsearch详解
|
11月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
296 0
|
1月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
188 2

热门文章

最新文章