1.什么是倒排索引
倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。
2.实例
下面利用一个例子来说明倒排索引:<o:p></o:p>
比如说有两个文档,doc1和doc2他们的内容分别如下:<o:p></o:p>
Doc1: VerRan is good boy。<o:p></o:p>
Doc2: Are you VerRan?<o:p></o:p>
如果按照正常的索引建立如下所示:<o:p></o:p>
文档名 关键字 次数<o:p></o:p>
Doc1 VerRan 1<o:p></o:p>
Doc1 is 1<o:p></o:p>
Doc2 VerRan 1<o:p></o:p>
Doc2 Are 1<o:p></o:p>
……<o:p></o:p>
这里索引的建立是以文档为标准的,这样当文档很多的时候数据量将非常的大,检索效率会明显下降的。<o:p></o:p>
<o:p></o:p>
倒排索引是以单词为标准来进行索引的建立的。<o:p></o:p>
还以上面的doc1和doc2为例:<o:p></o:p>
关键字 出现的文档 次数<o:p></o:p>
VerRan doc1 doc2 1 1<o:p></o:p>
Is doc1 1<o:p></o:p>
Are doc2 1<o:p></o:p>
…….
3.总结<o:p></o:p>
通过比较可以发现,一般的索引结构建立的是一种“文档到单词”的映射关系,而倒排索引建立的则是一种“单词到文档”的映射关系。因为在日常的检索中,通常都是按照关键字进行搜索的,所以,倒排索引可以更好地适合这种检索机制的需要。这也是倒排索引如今被大规模使用的原因<o:p></o:p>
4.参考资料:<o:p></o:p>
http://baike.baidu.com/view/676861.htm?ih=255<o:p></o:p>
http://book.youkuaiyun.com/bookfiles/28/10028810.shtml
(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file) 。
2.实例