Net分詞搜索程序說(shuō)明書_第1頁(yè)
Net分詞搜索程序說(shuō)明書_第2頁(yè)
Net分詞搜索程序說(shuō)明書_第3頁(yè)
Net分詞搜索程序說(shuō)明書_第4頁(yè)
Net分詞搜索程序說(shuō)明書_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

.Net分詞搜索程序說(shuō)明書源碼及文檔下載地址:/code/ShootSearchShootSearch(開發(fā)代號(hào):SpiderMan)說(shuō)明書文件狀態(tài):[√]草稿[]正式發(fā)布[]正在修改文件標(biāo)識(shí):ShootSunStudio-SpiderMan-20070815當(dāng)前版本:0.1作者:YinJun完成日期:未完成ShootSunStudioShootSunStudio射日工作室support@版本歷史版本/狀態(tài)作者參與者起止日期備注0.1尹君無(wú)2007/8/152006/8/17目錄TOC\o"1-3"\h\z0.文檔介紹 40.1文檔目的 40.2文檔范圍 40.3讀者對(duì)象 40.4參考文檔 51.產(chǎn)品介紹 62.產(chǎn)品面向的用戶群體 63.產(chǎn)品應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)或規(guī)范 64.ShootSearch命名空間 65.ShootSearch的使用 75.1站內(nèi)搜索 75.2遠(yuǎn)程采集 9

0.文檔介紹本文檔主要介紹有關(guān)ShootSearch(開發(fā)代號(hào):SpiderMan)的各組件類庫(kù)和如何使用ShootSearch來(lái)進(jìn)行數(shù)據(jù)的采集和搜索。0.1文檔目的因?yàn)镾hootSearch(開發(fā)代號(hào):SpiderMan)并沒(méi)有一個(gè)比較系統(tǒng)的介紹,所以為了方便大家使用也為了規(guī)范以后的開發(fā),特編寫此文檔。因?yàn)?.2版在架構(gòu)上出了點(diǎn)問(wèn)題,所以0.2版不再做更多的更新了,我現(xiàn)在的工作主要放在0.3版的設(shè)計(jì)上了。目前已經(jīng)確定的改進(jìn)如下:已處理隊(duì)列不再使用.Net自帶的Hashtable,而改用BloomFilter;未處理隊(duì)列將變成兩個(gè):A和B,A保持一定數(shù)量的Url,當(dāng)A超出時(shí)向B內(nèi)增加,當(dāng)B滿后寫入磁盤…這樣就可以保證處理更多的Url;Spider下載/Mirror處理兩個(gè)模塊將更好的配合,以便同時(shí)處理多個(gè)網(wǎng)站,這些網(wǎng)站可以使用相同規(guī)則,也可以對(duì)應(yīng)不同的處理規(guī)則;改進(jìn)索引線程的控制,使其更加靈活處理規(guī)則的改進(jìn),內(nèi)存中不再創(chuàng)建DataTable,而是直接采用XmlDocument對(duì)象,這樣就能更加靈活的進(jìn)行處理;傳遞對(duì)象—IndexItem的屬性將不限于Url,Title,Body等,可以使用自定義的屬性;0.2文檔范圍目前ShootSearch版本為0.2版,并沒(méi)有使用Ndoc之類的工具來(lái)生成完整的類庫(kù)說(shuō)明之類的說(shuō)明性文檔,同時(shí)因?yàn)镾hootSearch正在開發(fā)中,所以并不推薦最終用戶的使用,因此在說(shuō)明時(shí)可能會(huì)使用一些比較專業(yè)的詞匯,但文檔就此一份,不太好區(qū)分什么開發(fā)用戶,最終用戶之類的,有些地方的說(shuō)明可能會(huì)比較的詳細(xì)以致讓部分用戶覺(jué)得有些煩瑣。0.3讀者對(duì)象.Net下面的搜索愛(ài)好者,程序開發(fā)人員,系統(tǒng)設(shè)計(jì)人員,最終用戶…0.4參考文檔1.產(chǎn)品介紹ShootSearch的研發(fā)代號(hào)為:SpiderMan。你可以理解為蜘蛛俠,而我更愿意認(rèn)為是管理蜘蛛的人:-)。因?yàn)镾hootSearch的最初開發(fā)目的是希望能夠?qū)TTP,F(xiàn)TP,本地磁盤和網(wǎng)絡(luò)鄰居磁盤四種資源進(jìn)行檢索。每種資源對(duì)應(yīng)一種蜘蛛程序,而管理這些個(gè)蜘蛛的就可以成為管理蜘蛛的人了。用戶可以設(shè)定要檢索的網(wǎng)址,F(xiàn)TP服務(wù)器或是本地/網(wǎng)絡(luò)磁盤路徑,然后由ShootSearch來(lái)為這些資源做索引,方便搜索。2.產(chǎn)品面向的用戶群體目前ShootSearch還正在開發(fā)中,因此用戶主要是一些開源軟件的愛(ài)好者,有初級(jí)搜索需求的用戶。3.產(chǎn)品應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)或規(guī)范ShootSearch是基于Lucene.Net(以前叫DotLucene)的開源搜索引擎,采用C#編碼,源碼開放,遵守GPL協(xié)議。有關(guān)協(xié)議的英文版請(qǐng)參考:/copyleft/gpl.html中文版詳細(xì)情況請(qǐng)參考:/about/gpl/4.ShootSearch命名空間ShootSearch命名空間如下所示:目錄/程序名類型用途說(shuō)明ShootSearch.Spider類庫(kù)蜘蛛程序ShootSearch.Mirror類庫(kù)鏡像處理程序ShootSearch.Indexer類庫(kù)索引制作程序ShootSearch.Logger類庫(kù)日志記錄程序ShootSearch.IFilter類庫(kù)文件解析器HTML,Word,Excel…微軟官方提供ShootSearch.Plugin類庫(kù)插件接口ShootSearch.Plugin.RTF類庫(kù)RTF文件解析插件ShootSearch.Segment類庫(kù)中文分詞程序ShootSearch.Common類庫(kù)公共函數(shù)庫(kù)ShootSearch.Searcher類庫(kù)公共搜索程序ShootSearch.Searcher.WebWeb應(yīng)用程序Web搜索程序ShootSearch.Searcher.WindowsWindows應(yīng)用程序Windows搜索程序ShootSearch.Spider.ConsoleWindows應(yīng)用程序蜘蛛程序控制臺(tái)ShootSearch.Mirror.TesterWindows應(yīng)用程序鏡像處理程序ShootSearch.Indexer.TesterWindows應(yīng)用程序索引測(cè)試有關(guān)這一部分的詳細(xì)說(shuō)明請(qǐng)參考一下ShootSearchNameSpaceList.html那是使用NDoc自動(dòng)生成的文檔,但是我在編譯MSDN風(fēng)格時(shí)總是出錯(cuò),所以就隨便挑了一個(gè)可以編譯通過(guò)的編譯了…其中索引,鏡像處理以及蜘蛛的配置參數(shù)說(shuō)明可以從中詳細(xì)的進(jìn)行查看。公共函數(shù)庫(kù)也有詳細(xì)的說(shuō)明。5.ShootSearch的使用下面詳細(xì)講解一下如何使用。目前ShootSearch的應(yīng)用應(yīng)該主要分為兩類:站內(nèi)搜索,局域網(wǎng)內(nèi)搜索和遠(yuǎn)程采集。5.1站內(nèi)搜索可能很多網(wǎng)站都在采用百度或者Google的站內(nèi)搜索來(lái)進(jìn)行自己網(wǎng)站的站內(nèi)搜索。首先要明確,站內(nèi)搜索是為了方便瀏覽網(wǎng)站的用戶更好的檢索到所需要的資料,但是使用別人的站內(nèi)搜索卻存在著很多的問(wèn)題。首先明確網(wǎng)站一般分為兩大類:靠流量吃飯的和不靠流量吃飯的。對(duì)于考流量吃飯的網(wǎng)站而言,讓用戶使用百度來(lái)檢索主要是為了減輕一下自己數(shù)據(jù)庫(kù)的訪問(wèn)壓力,也是為了獲得更好的檢索效果,但是當(dāng)用戶使用百度或Google來(lái)檢索時(shí)無(wú)疑也悄悄地把流量帶給了百度和Google。下面看看對(duì)于不靠流量吃飯的網(wǎng)站,尤其是一些制造廠商和在線銷售的公司,網(wǎng)站目的很明確:展示產(chǎn)品,銷售產(chǎn)品。其實(shí)當(dāng)用戶使用搜索引擎進(jìn)行站內(nèi)搜索時(shí),很多人都不知道,搜索引擎跟我們開了一個(gè)大玩笑。我們都知道站內(nèi)檢索的語(yǔ)法如下:site:[網(wǎng)址][關(guān)鍵字],一般的搜索引擎都支持。下面我舉個(gè)例子,大家就明白這個(gè)玩笑是什么了。比如:這個(gè)網(wǎng)站,這是一家在線銷售PDA,智能電話,GPS等數(shù)碼設(shè)備的網(wǎng)站,當(dāng)然他們并沒(méi)有使用百度或是Google的站內(nèi)檢索,但是他們的搜索功能不是很強(qiáng),還可以說(shuō)是很簡(jiǎn)單。假想一下,如果他們提供了百度的站內(nèi)檢索,我們來(lái)模擬一下使用百度來(lái)檢索我們想要的信息:打開,在搜索框中輸入“site:多普達(dá)838”(不包括引號(hào),假想用戶想查詢一下多普達(dá)的手機(jī)),點(diǎn)擊“百度一下”按鈕,看看我們的搜索結(jié)果,如下圖:咋一看沒(méi)有什么不對(duì)的,因?yàn)榈谝粋€(gè)搜索結(jié)果似乎就是我們想要的,但是請(qǐng)注意觀察右側(cè)!那是我的競(jìng)爭(zhēng)對(duì)手的廣告!天哪,假如用戶不是鎖定了我的網(wǎng)站來(lái)購(gòu)買手機(jī),那么百度的站內(nèi)搜索就把我的用戶帶給了我的競(jìng)爭(zhēng)對(duì)手!(順便說(shuō)一句,Google站內(nèi)檢索好像沒(méi)有廣告)現(xiàn)在大家明白了,不管你是什么樣的網(wǎng)站,如果你使用了百度的站內(nèi)搜索,那可就小心了,因?yàn)槟愕母?jìng)爭(zhēng)對(duì)手可是隨時(shí)虎視眈眈著你呢~就目前而言,ShootSearch站內(nèi)搜索還不是很強(qiáng)大,因?yàn)樵诟鹿δ苌线€不是很完善,需要手動(dòng)調(diào)整一些配置。另外只有支持動(dòng)態(tài)頁(yè)面(jsp,.net1.1和.net2.0的主機(jī)才支持檢索功能)。下面就來(lái)看一下如何進(jìn)行的站內(nèi)檢索。運(yùn)行ShootSearch.Spider.Console.exe,點(diǎn)擊設(shè)定地址,刪除原來(lái)的Url,添加,其余默認(rèn),點(diǎn)擊“增加”按鈕,然后點(diǎn)擊“保存”退回主界面,然后點(diǎn)擊“常規(guī)設(shè)置”,把“啟用索引”的對(duì)鉤選上,其余兩個(gè)不選,在“忽略的URL關(guān)鍵字”填入“rss|.gif|.png|.jpg|.js”;切換到“下載設(shè)置”,選中“下載后重命名”,去掉“只下載靜態(tài)化的Url”的對(duì)鉤;切換到“索引設(shè)置”,選中“如果索引存在就自動(dòng)更新“,然后點(diǎn)擊”保存“按鈕退回主界面。點(diǎn)擊”開始運(yùn)行“就可以了。注意檢索完成后需要點(diǎn)擊一下“保存隊(duì)列“按鈕,在下次更新時(shí)需要手動(dòng)把首頁(yè)的URL,比如從Processed.txt中刪除,手動(dòng)添加到UnProcessed.txt中。然后點(diǎn)擊”加載繼續(xù)“即可完成一次更新。5.2遠(yuǎn)程采集因?yàn)槟壳癝hootSearch只能處理單個(gè)網(wǎng)站的遠(yuǎn)程采集,所以這里只說(shuō)最關(guān)鍵的,“處理規(guī)則設(shè)置“和”文件名過(guò)濾器“。處理規(guī)則包括3種:提取規(guī)則,移除規(guī)則和替換規(guī)則。提取規(guī)則一定要有一個(gè)輸出模板,在這里使用了StringTemplate.Net這個(gè)組件。模板中兩個(gè)美元符號(hào)之間為關(guān)鍵字:$關(guān)鍵字$。下面以采集CSDN的Blog為例:要采集的首頁(yè)地址為:/shootsoft首先要編寫一個(gè)輸出的模板,我們這里以輸出xml文件為例,也是輸出html等任何文本形式,適當(dāng)?shù)奶砑哟a也可以輸出到數(shù)據(jù)庫(kù)中。<?xmlversion="1.0"encoding="utf-8"?><<?xmlversion="1.0"encoding="utf-8"?><csdnblog><title>$Title$</title><body><![CDATA[$Body$]]></body></csdnblog>csdnblog.tp需要保存在Templates/目錄下csdn的Blog采集不需要移除和替換規(guī)則,所以在設(shè)置時(shí)記得不要啟用這兩種規(guī)則,只需要提取規(guī)則就可以。提取規(guī)則的xml名稱我們可以定義為:SmartGet_csdnblog.xml,現(xiàn)在先打開一篇Blog列表頁(yè)和內(nèi)容頁(yè),比如:/shootsoft/archive/2007/03.aspx/shootsoft/archive/2007/02/12/1508321.aspx觀察一下源碼,可以看出內(nèi)容頁(yè)一定有個(gè)“收藏到我的網(wǎng)摘“的字樣,ShootSearch目前提供了兩種方式來(lái)進(jìn)行內(nèi)容提取的過(guò)濾,一個(gè)是文件名過(guò)濾,另一個(gè)就是內(nèi)容關(guān)鍵字過(guò)濾。\S*\d{4}\\\d{2}\\\d{2}\\\S*.htm因?yàn)橄螺d后的文件如果按照原目錄結(jié)構(gòu)的話內(nèi)容頁(yè)的路徑正則表達(dá)式就是(重命名成.htm了)\S*\d{4}\\\d{2}\\\d{2}\\\S*.htm可以把這個(gè)正則表達(dá)式添加到“文件名過(guò)濾器“中。<?xmlversion="1.0"encoding="utf-8"?><?xmlversion="1.0"encoding="utf-8"?><ShootSearch><GetTemplateName="csdnblog"><ItemGetType="Key"Name="Key"Type="1"><Expression>收藏到我的網(wǎng)摘</Expression></Item><ItemGetType="SmartGet"Name="Body"Type="3"MinSize="100"><Start><![CDATA[<divclass="postText">]]></Start><End><![CDATA[<br><br><pid="TBPingURL">]]></End></Item><ItemGetType="SmartGet"Name="Title"Type="3"><Start><![CDATA[border='0'width='15'height='13'/> ]]></Start><End><![CDATA[</a>]]></End><Expression></Expression></Item><ItemGetType="SmartGet"Name="Url"Type="3"><Start><![CDATA[<divclass="postTitle"> <ahref="]]></Start><End><![CDATA[">]]></End><Expression>href</Expression></Item></Get></ShootSearch>SmartGet函數(shù)是用于提取內(nèi)容的一個(gè)函數(shù),此外還有XMLGet,Regex兩種方式。其中的Name是該條內(nèi)容的提取名稱,有很多網(wǎng)站比如博客園的()他的內(nèi)容提取有多個(gè),因此Name是可以重復(fù)的,程序在處理時(shí)會(huì)挨個(gè)嘗試相同Name的規(guī)則,當(dāng)某個(gè)規(guī)則提取的內(nèi)容不為空時(shí),后面相同Name的規(guī)則就不再做嘗試了。Type屬性只用于SmartGet和XMLGet兩種,這是一個(gè)枚舉,請(qǐng)參考ShootSearch.Mirror命名空間下的SmartGetType枚舉的說(shuō)明。MinSize屬性和MaxSize屬性目前只用于Body內(nèi)容的過(guò)濾。其他的配置請(qǐng)參考下圖:下面點(diǎn)擊“保存”按鈕,返回主界面后點(diǎn)擊“開始運(yùn)行”按鈕。程序便會(huì)啟動(dòng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論