正排索引是以文档的ID为关键字,就好像书中的目录一样,每个章节对应页码。在正排表中记录文档中每个字的位置信息,查找时,扫描表中每个文档中字的信息,直到找出所有包含查询关键字的文档。查询的时候需要对所有的文档进行扫描以确保没有遗漏,检索效率低下。
倒排索引是以字或词为关键字,类似英语词典根据首字母找单词页码。倒排索引中的关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置。由于每个字或词对应的文档数量在动态变化,所以倒排索引的建立和维护都较为复杂。查询的时候可以一次得到查询关键字所对应的所有文档,效率很高。