2009年03月17日 星期二 12:33

1) 存储问题,现在业内很多做搜索的公司都借鉴google的存储方案,这方面我研究不多,但据说google的大规模存储是一大亮点,号称可以无限扩充,这是一般的数据库存储无法实现的,不管是mysql, sqlserver, 当数据达到千万级的时候,做一些操作就很慢了,这会严重的影响整个搜索引擎的数据更新频率. 对于一般数据量在千万级左右的垂直搜索来说,用数据库还可以勉强应付,数据量再大,就一定要有一个好的存储方案了,一般可以简化的用大文件块加索引文件的方式,所有网页按固定大小文件块存放,同时记录该网页在文件中的偏移位置,读取时根据索引中记录的偏移量来读。


2) 分布式抓取,通过一个总的url调度程序挂接多个抓取程序,这样的架构本身就有一定容错性,google的抓取能做到同时挂接大量的spider, 而且中间有一两个down掉不会有影响,任务会自动分配给其他spider.如果按一般的单机spider,一旦出错,后果可能就比较严重了。


3) URL调度策略, 一个好的Spider, 必须要有url调度策略,对于垂直搜索,更是如此,和全网搜索的区别就在于,垂直搜索追求数据的精度和即时性,各个网站上数据的更新频度不同,因此在抓取时也要区别对待,对于一些大站,最好能做到外部数据发生变化了,Spider很快就能感知到,因此在url调度上要针对这些大站设置一个定时抓取增量数据.


一个好的垂直搜索要关注几个指标,第一当然是数据量,百万级和千万级在技术上可能差异不大,但超过千万级甚至接近亿级规模的话,技术复杂度就会急剧上升,第二是数据更新周期,比如google,baidu这样的搜索引擎,基本上数据有更新,隔天它们就能体现出来,而类似酷讯这些新涌现的垂直搜索,据说后台的数据更新周期短达10几分钟,它们的抓取源如果有新增数据,可能十多分钟后就出现在搜索引擎里,做到这一点非常不容易,基本上从抓取、业务处理、索引整个流程要完全打通,而且完全自动化。

 

很多公司都看好垂直搜索的前景,找几个人,攒了个搜索,表面看什么都有了,但可能“内功”不好,要真正做好一个垂直搜索,很不容易,从硬件到人力都需要较大投入。

出自:www.8tops.com 时间2007-8-28 8:38:29 发布:周凯 媒体:原创  作者:周凯