前文,我们简单介绍了倒排索引是正排索引的对立面。由ID查询到词组为正排索引,而由词组查询相关的ID,则叫做倒排索引。 倒排索引(Inverted index) 是一种将词项映射到文档的数据结构,这与传统关系型数据库的工作方式不同。你可以把倒排索引当做面向词项的而不是面向文档的数据结构。倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)) 正排索引:是以文档对象的唯一 ID 作为索引,以文档内容作为记录的结构。 倒排索引:Inverted index,指的是将文档内容中的单词作为索引,将包含该词的文档 ID 作为记录的结构。
在没有搜索引擎时,我们是直接输入一个网址,然后获取网站内容,这时我们的行为是:document -> to -> words。即通过文章,获取里面的单词,此谓「正向索引」,forward index. 后来,我们希望能够输入一个单词,找到含有这个单词,或者和这个单词有关系的文章:word -> to -> documents。于是我们把这种索引,成为inverted index,直译过来,应该叫「反向索引」,国内翻译成「倒排索引」