模塊以下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#較爲方便。