模块以下html
数据库管理模块:数据库
含接口c#
connect(ip,name,key,ipsolr,namesolr,keysolr)url
insert(title,date,keywords,url,fileinfo)spa
注,insert的同时应该也把solr须要的数据发送给solrcode
注:原程序中还有更多insert操做,可是真的须要都保留吗?我的不认为有必要保留,见下。insert_tag应该直接包含了把tag存入,保 存tag和文件的对应关系,统计词频。htm
insert也应该直接自动把做者,时间,关键词,保存做为tag,统计词频。与此同时,我的认为原程序中专门把问答网页的问题与答案存储起来,这一点在β版再也不须要,由于咱们要作的仅仅给六六大顺团队使用,他们使用的功能仅仅是经过可以经过关键词找到我这个文件或者网页url便可,咱们若知道其问题和答案中的关键词,便无需知道其具体问题内容和答案内容。同时alpha版本对于数据库的操做还有保存一个网页的相关系,理由同上。alpha版本除此以外仅剩一处向数据库插入数据,向WebPage_tag中插入数据,插入的数据包含了网页和tag之间的映射关系,这在先前insert_tag,insert中均已作到,无需专门设立功能。接口
bool selectFist100(List<string>curpath,List<string>url,List<Encoding>encoder);ip
用100由于怕数据太多select出来放不下,返回值判断是否已经select到底了get
数据处理模块:
含接口
process(string curpath,string url,Encoding encoder)
内部本身判断文件具体类型,分发给具体类型的模块
暂定下分模块:
doc,html,pdf等模块,内均含一样的接口,doc的xxx为doc,类推
procedure_xxx(string curpath,string url,Encoding encoder)
内部直接调用insert吧找到的数据插回去
分词器模块:
含接口:
datemining()
getAuthor()
getDate
getTitle
getKey
getTag
爬出模块
含接口
run
stop
总管理模块:
也就是main部分,决定爬虫跑不跑,挨个依次拿出数据处理数据放回。
至于语言方面,我的建议沿用alpha的c#较为方便。