在谷歌search里,老师说存储索引的时候,是按照document id来做分片的。我觉得这里有一些问题。
这一块我感觉谷歌用的是kv存储,比如是rocksdb这种。那么如果是按照document id来做分片,key就是:document id。value是<term, term_freqeucny>. 那么我在索引的时候岂不是要遍历整个数据库来找我需要的term?sql 长这样: select term == xx from *. 这个按照谷歌的量级来说应该是不可能搜到的。
当然这里我有假设,谷歌用了rocks db这种硬盘的kv 存储哈。