Inverted index 倒排索引

单词-文档矩阵模型

⏱ 搜索引擎通常检索的场景是:给定几个关键词,找出包含关键词的文档。

  • 关键:如何快速找到包含某个关键词的文档
  • 单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型

单词-文档矩阵模型:
此模型可以让我们很快速的知道某篇文档包含哪些关键词、哪些关键词被哪些文档锁包含。
具体数据结构有:倒排索引、签名文件、后缀树

模型

倒排索引

❤倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。
它是文档检索系统中最常用的数据结构
通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。

倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。
①单词词典包含了所有粒度的拆分词;
②倒排文件则保存了该词对应的所有相关信息。

❤倒排索引有两种不同的反向索引形式
①一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。
②一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置。
☛ 第二种:提供了更多的兼容性(比如短语搜索),但是需要更多的时间和空间来创建

  • 倒排索引一般表示为一个关键词,然后是它的频度(出现的次数),位置(出现在哪一篇文章或网页中,及有关的日期,作者等信息),它相当于为互联网上几千亿页网页做了一个索引,好比一本书的目录、标签
倒排例子:中国古代散文作者是如何

单词词典

 单词词典是倒排索引中非常重要的组成部分,它用来维护文档集合中出现过的所有单词的相关信息,同时用来记载某个单词对应的倒排列表在倒排文件中的位置信息。在支持搜索时,根据用户的查询词,去单词词典里查询,就能够获得相应的倒排列表,并以此作为后续排序的基础。

      对于一个规模很大的文档集合来说,可能包含几十万甚至上百万的不同单词,能否快速定位某个单词,这直接影响搜索时的响应速度,所以需要高效的数据结构来对单词词典进行构建和查找,常用的数据结构包括哈希加链表结构和树形词典结构。

专业词汇

倒排索引(Inverted Index)
倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。
倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。

倒排文件

  • 带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
  • 所有单词的倒排列表往往顺序地存储在磁盘的某个文件里,这个文件即被称之为倒排文件,倒排文件是存储倒排索引的物理文件。

倒排列表(PostingList)

  • 倒排列表记载了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息,每条记录称为一个倒排项(Posting)。
  • 根据倒排列表,即可获知哪些文档包含某个单词。

单词词典Lexicon

  • 单词词典是由文档集合中出现过的所有单词构成的字符串集合,单词词典内每条索引项记载单词本身的一些信息以及指向“倒排列表”的指针。
  • 常用的数据结构包含哈希加链表和树形词典结构。


    倒排索引基本概念

你可能感兴趣的:(Inverted index 倒排索引)