反向索引是一种索引结构,它存储了单词与单词自身在一个或多个文档中所在位置之间的映射。反向索引通常利用关联数组实现。它拥有两种表现形式:
inverted file index,其表现形式为 {单词,单词所在文档的ID}
full inverted index,其表现形式为{单词,(单词所在文档的ID,在具体文档中的位置)}
具体实例,假设有三个文档:
T0 = "it is what it is"
T1 = "what is it"
T2 = "it is a banana"
那么,采用inverted file index方式,结果是:
"a": {2}
"banana": {2}
"is": {0, 1, 2}
"it": {0, 1, 2}
"what": {0, 1}
采用full inverted index方式,结果是:
"a": {(2, 2)}
"banana": {(2, 3)}
"is": {(0, 1), (0, 4), (1, 1), (2, 1)}
"it": {(0, 0), (0, 3), (1, 2), (2, 0)}
"what": {(0, 2), (1, 0)}
inverted file index,其表现形式为 {单词,单词所在文档的ID}
full inverted index,其表现形式为{单词,(单词所在文档的ID,在具体文档中的位置)}
具体实例,假设有三个文档:
T0 = "it is what it is"
T1 = "what is it"
T2 = "it is a banana"
那么,采用inverted file index方式,结果是:
"a": {2}
"banana": {2}
"is": {0, 1, 2}
"it": {0, 1, 2}
"what": {0, 1}
采用full inverted index方式,结果是:
"a": {(2, 2)}
"banana": {(2, 3)}
"is": {(0, 1), (0, 4), (1, 1), (2, 1)}
"it": {(0, 0), (0, 3), (1, 2), (2, 0)}
"what": {(0, 2), (1, 0)}