倒排索引

作者:GarfieldEr007
链接:https://www.zhihu.com/question/23202010/answer/80462209
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

---------------------------导语---------------------------
倒排索引,好像大家都这么叫。
倒排索引对应的英文术语为inverted index,有的papers里也成为inverted files,说的都是同一种东西。倒排索引是区别于正排索引(forward index)来说的。

---------------------------我是正文---------------------------
文档是有许多的单词组成的,其中每个单词也可以在同一个文档中重复出现很多次,当然,同一个单词也可以出现在不同的文档中。

正排索引(forward index):从文档角度看其中的单词,表示每个文档(用文档ID标识)都含有哪些单词,以及每个单词出现了多少次(词频)及其出现位置(相对于文档首部的偏移量)。

倒排索引(inverted index,或inverted files):从单词角度看文档,标识每个单词分别在那些文档中出现(文档ID),以及在各自的文档中每个单词分别出现了多少次(词频)及其出现位置(相对于该文档首部的偏移量)。

简单记为:
正排索引:文档 ---> 单词
倒排索引:单词 ---> 文档

---------------------------结语---------------------------
倒排索引有着广泛的应用场景,比如搜索引擎、大规模数据库索引、文档检索、多媒体检索/信息检索领域等等。总之,倒排索引在检索领域是很重要的一种索引机制。
原文地址:https://www.cnblogs.com/txfsheng/p/8883741.html