19 lines
480 B
Text
19 lines
480 B
Text
record InvertedIndexRec(simple,full)
|
|
|
|
procedure FullInvertedIndex(ii,k,words) #: accumulate a full inverted index
|
|
|
|
/ii := InvertedIndexRec( table(set()), table() ) # create lookup table and null set
|
|
|
|
wc := 0
|
|
every (w := !words, wc +:= 1) do {
|
|
if *ii.simple[w] = 0 then {
|
|
ii.simple[w] := set() # new word, new set
|
|
ii.full[w] := table() # also new table
|
|
}
|
|
insert(ii.simple[w],k)
|
|
/ii.full[w,k] := set()
|
|
insert(ii.full[w,k],wc)
|
|
}
|
|
|
|
return ii
|
|
end
|