今天看phpcms的采集目录,发现里面有个title目录,里面有很多两位文件名的文本文件,文件内容都是md5值,我的直觉告诉我,这个是根据标题来做的仿重复采集实现方。思路应该是这样的,把采集到的标题用hash算法生成文件名,然后把标题的md5值保存到文件中,这样多次采集的标题被分散保存到很多文件中,应该可以大幅提高效率,且减少了因为单纯用md5值出现撞针的几率。我最近在给我自己的系统做采集仿重复功能,只是不懂这个hash算法,请高人们指导下!

解决方案 »

  1.   

    想知还是自己看源码吧。md5是基于md4算法的。可以google一下。
      

  2.   

    我已经做到了,采用sha1生成标题摘要,取前两位做为文件名,标题的md5做为文件内容用|分隔,实际效果非常理想,进行10万次测试,结果均匀分布在256个文件中,而且没有出现撞针现象!