首页 > 其他分享 >倒排索引

倒排索引

时间:2024-10-16 16:10:35浏览次数:5  
标签:倒排 查询 索引 反向 文档 词项

什么是倒排索引
倒排索引(Inverted Index)也叫反向索引,有反向索引必有正向索引。通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key。

倒排索引的结构

倒排索引通常包含两个主要部分:

词项字典(Term Dictionary):存储所有词项及其相关信息(如词频、位置等)。

倒排列表(Posting List):对于每个词项,存储包含该词项的文档ID列表。

示例

假设我们有以下三个文档:

文档1:"The quick brown fox jumps over the lazy dog."

文档2:"The lazy dog is quick."

文档3:"The fox is brown."

构建倒排索引后,可能的结构如下:****

词项字典:
用1表示出现在该文档中

倒排索引的优点

快速检索:通过倒排索引,可以快速找到包含特定词项的所有文档。

高效存储:倒排索引通常采用压缩技术,减少存储空间。

支持复杂查询:可以轻松处理布尔查询、短语查询等复杂查询。

倒排索引的应用

倒排索引广泛应用于搜索引擎、数据库全文索引、信息检索系统等领域。例如,Google、Bing等搜索引擎都使用倒排索引来快速响应用户的搜索请求。

标签:倒排,查询,索引,反向,文档,词项
From: https://www.cnblogs.com/syunnrai/p/18470195

相关文章

  • 使用博查Web Search API获取搜索引擎的网页链接和文本摘要,给AI/RAG应用增加联网搜索功
    为什么需要WebSearchAPI?各类AINative应用、RAG应用、AIAgent智能体在开发过程都会遇到联网获取互联网网页信息的需求,此时需要得到原始网页链接以及文本摘要,以用于给pipeline中的大模型作为上下文总结使用。但目前仅国外的搜索引擎例如Bing、Google提供此类WebSearch......
  • elasticsearch之倒排索引
    倒排索引elasticsearch有如此高的搜索性能,无异于使用了倒排索引。倒排索引中有两个重要的概念:文档(Document):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词条。例如:我......
  • 倒排索引
    倒排索引:‌倒排索引(InvertedIndex)‌是一种索引方法,主要用于存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是由属性值来确定记录的位置,而不是由记录来确定属性值,因此被称为倒排索引。倒排索引被广泛应用于‌文档检索系统中,是文档检索系统中常用的数据结......
  • 软件测试笔记|数据库基础|创建索引的原则
    创建数据库索引有以下原则:一、选择合适的列创建索引1.选择经常用于查询条件的列:如果某一列经常在WHERE子句中作为条件出现,那么为该列创建索引可以大大提高查询速度。例如,在一个员工表中,如果经常根据员工的姓名进行查询,那么为“姓名”列创建索引是一个不错的选择。2.选择......
  • ElasticSearch的倒排索引和相关概念与MySQL的对比
    ElasticSearch的倒排索引和相关概念在用关系型数据库时,一些频繁用作查询条件的字段我们都会去建立索引来提升查询效率。在关系型数据库中,我们一般都采用B树索引进行存储,所以B树索引也是我们接触比较多的一种索引数据结构,但是在使用过程中,我们发现无法使用关系型数据库进行类......
  • Elasticsearch 倒排索引,ES相关概念对比MySQL
    elasticsearch之所以有如此高性能的搜索表现,正是得益于底层的倒排索引技术。什么是倒排索引?倒排索引的概念是基于MySQL这样的正向索引而言的。倒排索引中有两个非常重要的概念:文档(Document):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息词条(Te......
  • MySQL 唯一索引和普通索引
    唯一索引和普通索引的区别查询过程基本没有区别selectidfromTwherek=5InnoDB数据的读写单位是数据页,默认是16KB。更新过程普通索引可以使用changebuffer(会持久化),唯一索引不行。当需要更新一个数据页是,如果数据页在内存中就直接更新,如果数据页还没在内存中,在不......
  • MySQL 选错索引
    查看执行计划选择的索引explainselect*fromtwhereabetween10000and10000;通过慢日志(slowlog)查看语句执行情况--启动慢日志SHOWVARIABLESLIKE'slow_query_log';--慢日志存储位置SHOWVARIABLESLIKE'slow_query_log_file';--慢日志阈值SHOWVARIABLES......
  • Elasticsearch正向索引与倒排索引
    Elasticsearch正向索引与倒排索引一、正向索引首先,要明白什么是正向索引,所谓正向索引,就是在查找某项数据时,按照id一条一条查找,如果当前数据中包含所需数据,则将当前数据取出,不包含则抛弃,直至全部遍历结束。例如:当我们按照正向索引去寻找包含小米三星苹果的数据时,会从头遍历一遍,......
  • 倒排索引和ES相关概念对比MySQL
    1.倒排索引1.1倒排索引两个重要概念:文档:用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息以京东商城为列词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词条。例如:我是中国人,就可以分为:我、是、中国人、中国、国人这......