- 论坛徽章:
- 0
|
URL解析一般还是比较容易的,我以前写过HTML,所以对LINK提取还算比较熟悉,
URL hash重复的问题,我建议你使用trie,trie能解决你的重复问题,而且查找速度很快,弊端是比较占内存,如果全部弄成16字节的二进制MD5应该也占不了太大内存.
一般对于多线程下载都需要单线程多连接同时抓取,一般的解决方案非阻塞的事件通知模式, 就是使用libevent 或者自己写epoll或者kqueue的封装,当然你要是有兴趣可以看看我的libevbase 和 libsbase的实现....
我目前的索引遇到的问题是IO分块存储已经效率的平衡问题,目前我正学习一些文件系统的知识,相信学完会对设计这个有很大的帮助的.
另外说说我的倒排索引的设计思路吧,我的倒排设计为单纯的计算模型,分词和摘要被剥离出来,也就是扔进倒排的是词的ID和文档ID还有词的权重...
查询的时候也会传词ID的一个列表进去,可选不通的查询模型,然后获得排序完的文档列表,排序是在文档命中会逐个计算文档的权重后排序,也就是如果要扩展page rank等排序规则的时候可以外接一个计算接口把计算出来的分值传进去就可以了. |
|