关于搜索引擎索引的一些疑惑

對此Jeff Dean有個非常好的簡介http://research.google.com/people/jeff/WSDM2009-keynote.html
■网友
文档集合就是你的数据集合,看你怎么归类划分,比如你可以把爬下来的网页分类成:图片,新闻,视频,音乐等等,这样你就有了一些相对较小集合的垂直文档集,当然你也可以把所有文档当成一个大的集合。分类有几个好处:1.拆分业务,不同文档可以用不同的检索系统和算法,提供精准的垂直搜索2.小的数据集合更容易管理,存储,检索效率的优化,以及运维单台机器的处理能力有限,一般来说大的搜索引擎即使是文档分类好,小的数据集合的数据量依然是很可观的,所以还需要要对数据集合的文档进行分片,每台机器负责处理部分内容,多个机器之间还可以互为备份,提高服务的稳定性。3. (针对建索引的某一类文档来说)词典可以分为两类:1.包含该文档集的全部词。2. 局部词典,单台机器上部分文档包含的词局部字典实现起来比较容易,全局词典存储和更新要复杂的多。4. 文档中的(词,频率)应该也是符合power-law 的,建索引的过程中会对词进行stemming和过滤处理,比如如果分词器把长度超过30的一串数字分了出来,这种词用户基本不会输入检索的,就可以过滤扔掉,一些频率太高的停用词也可以过滤掉基本上词典都是非常大的。我想可以尝试搞两个词典,常用词表和非常用词表,这样应该能够提高常用词的查找效率,不过这部分应该不是搜索引擎的主要耗时点


    推荐阅读