倒排索引为什么叫倒排索引?

倒排索引
关注者
365
被浏览
390,822

27 个回答

渣翻译的例子之一。

英文原名Inverted index,大概因为 Invert 有颠倒的意思,就被翻译成了倒排。

但是倒排这个名称很容易让人理解为从A-Z颠倒成Z-A。

个人认为翻译成转置索引可能比较合适。

一个未经处理的数据库中,一般是以文档ID作为索引,以文档内容作为记录。

而Inverted index 指的是将单词或记录作为索引,将文档ID作为记录,这样便可以方便地通过单词或记录查找到其所在的文档。

创建倒排索引,分为以下几步:

1)创建文档列表:

l lucene首先对原始文档数据进行编号(DocID),形成列表,就是一个文档列表

2)创建倒排索引列表

l 然后对文档中数据进行分词,得到词条。对词条进行编号,以词条创建索引。然后记录下包含该词条的所有文档编号(及其它信息)。

谷歌之父--> 谷歌、之父



倒排索引创建索引的流程:

1) 首先把所有的原始数据进行编号,形成文档列表

2) 把文档数据进行分词,得到很多的词条,以词条为索引。保存包含这些词条的文档的编号信息。


搜索的过程:

当用户输入任意的词条时,首先对用户输入的数据进行分词,得到用户要搜索的所有词条,然后拿着这些词条去倒排索引列表中进行匹配。找到这些词条就能找到包含这些词条的所有文档的编号。

然后根据这些编号去文档列表中找到文档