孫文華
(南昌工程學(xué)院 網(wǎng)絡(luò)信息中心,江西 南昌 330099)
當(dāng)前,面對(duì)浩瀚的網(wǎng)絡(luò)資源,搜索引擎為所有網(wǎng)上沖浪的用戶提供了一個(gè)入口,所有的用戶都可以借助于搜索引擎到達(dá)自己想去的網(wǎng)上任何一個(gè)地方。隨著Internet的快速發(fā)展,海量信息和人們獲取所需信息能力之間的矛盾日益明顯,在信息海洋里查找信息,如同大海撈針一樣,而搜索引擎的出現(xiàn)正好解決了這一難題。
目前高校校內(nèi)信息量的不斷增加,面對(duì)浩瀚的網(wǎng)絡(luò)信息,選擇資源范圍廣而針對(duì)性不強(qiáng),很難搜到符合自己的資源。針對(duì)這種情況,本文提出了一款校內(nèi)搜索軟件的設(shè)計(jì)與實(shí)現(xiàn)方法。該軟件采用Java語言開發(fā),是一款簡易且實(shí)用的校內(nèi)搜索引擎軟件。
搜索引擎系統(tǒng)[1]通常是指互聯(lián)網(wǎng)信息檢索系統(tǒng)。本系統(tǒng)是建立在通過網(wǎng)絡(luò)爬蟲軟件抓取大量的網(wǎng)絡(luò)資源的基礎(chǔ)上進(jìn)行開發(fā)設(shè)計(jì)的,系統(tǒng)通過對(duì)抓取的網(wǎng)頁文件進(jìn)行智能提取、去標(biāo)注、內(nèi)容分析等處理,再經(jīng)過索引加載建立索引數(shù)據(jù)庫。用戶可以通過搜索頁面查詢索引數(shù)據(jù)庫,返回包含所有匹配查詢關(guān)鍵詞的網(wǎng)頁[2]。
圖1 搜索引擎軟件設(shè)計(jì)原理圖
校內(nèi)搜索引擎軟件的設(shè)計(jì)原理如圖1所示,其原理如下:(1)通過網(wǎng)絡(luò)爬蟲軟件抓取網(wǎng)頁內(nèi)容;(2)從抓取的網(wǎng)頁文件中獲取索引表,索引表內(nèi)容為每個(gè)文件的序號(hào)與網(wǎng)址信息,得到網(wǎng)頁文件庫里面的內(nèi)容即為網(wǎng)頁文件;(3)對(duì)得到的網(wǎng)頁文件庫進(jìn)行處理,使用正則表達(dá)式去除網(wǎng)頁標(biāo)注信息,得到的新內(nèi)容存放在一個(gè)新的文件夾中,作為內(nèi)容信息庫;(4)根據(jù)網(wǎng)頁文件庫和索引表,得到一個(gè)新的文件(也稱為標(biāo)題和網(wǎng)址信息庫),其里面的內(nèi)容為每個(gè)文件的序號(hào)、標(biāo)題和網(wǎng)址等信息;(5)當(dāng)用戶需要查找自己需要的信息時(shí),只要輸入關(guān)鍵詞,搜索引擎軟件根據(jù)用戶輸入的關(guān)鍵詞在內(nèi)容信息庫中進(jìn)行查找[3],如果內(nèi)容信息庫中存在用戶查找的內(nèi)容,軟件將根據(jù)給內(nèi)容所在的文件序號(hào),在標(biāo)題和網(wǎng)址信息庫中提取出該內(nèi)容所在的標(biāo)題與網(wǎng)址等信息,最后再加上內(nèi)容信息庫中與關(guān)鍵詞相關(guān)的內(nèi)容信息作為查找的結(jié)果顯示出來。
搜索引擎軟件開發(fā)環(huán)境:Myeclipse平臺(tái),使用Java語言。首先可以 Myeclipse平臺(tái)新建一個(gè)java project,在新建的project中需要導(dǎo)入下面一些相關(guān)的文件:
搜索引擎軟件中獲得搜索結(jié)果的搜索函數(shù)核心代碼如下:
//根據(jù)用戶輸入的關(guān)鍵詞,在相應(yīng)的庫中進(jìn)行搜索,并返回搜索結(jié)果信息
至此,完成了搜索引擎軟件代碼的編寫工作,接下來可以進(jìn)行run操作(即可以在指定內(nèi)容信息庫與標(biāo)題和網(wǎng)址信息庫中進(jìn)行操作),返回用戶查找的相關(guān)網(wǎng)頁文件的序號(hào)、標(biāo)題、網(wǎng)址和主要內(nèi)容等信息的結(jié)果。
內(nèi)容信息庫的存放路徑為D: estContentInfo;內(nèi)容信息庫中的內(nèi)容如圖2所示。標(biāo)題和網(wǎng)址信息庫的存放路徑為D: estTitleInfo;文件庫中存放了標(biāo)題和網(wǎng)址信息文件,文件名為TitleInfo.txt,其內(nèi)容如圖3所示。
圖2 內(nèi)容信息庫中的內(nèi)容
圖3 標(biāo)題和網(wǎng)址信息文件庫的內(nèi)容
運(yùn)行該搜索引擎軟件,得出的輸出結(jié)果如圖4所示。
圖4 進(jìn)行關(guān)鍵詞搜索后輸出的結(jié)果信息
由圖4可以看到,通過該系統(tǒng)可以把待測(cè)文件中臟字及臟詞組出現(xiàn)的次數(shù)全部顯示出來,其結(jié)果與實(shí)際情況完全一致。
針對(duì)當(dāng)前網(wǎng)絡(luò)在高校的應(yīng)用越來越普及,校內(nèi)網(wǎng)絡(luò)中的資源也越來越多,而目前市場(chǎng)上的搜索軟件(如百度、谷歌的)又難以滿足實(shí)踐的需要,并且有些搜索軟件比較昂貴。本文在基于這些問題的情況下進(jìn)行研究與分析,提出了校內(nèi)網(wǎng)絡(luò)資源搜索軟件的設(shè)計(jì)方法,并在Myeclipse環(huán)境下通過Java語言實(shí)現(xiàn)了這種方法,為高校校內(nèi)網(wǎng)絡(luò)資源的搜索提供了一種方法。另外,可以在此基礎(chǔ)上進(jìn)行二次開發(fā),作者就在此基礎(chǔ)上完成了Web界面上的搜索(類似百度的功能)。本軟件在南昌工程學(xué)院已開始試用,如圖5所示。
圖5 Web網(wǎng)頁搜索測(cè)試圖
根據(jù)本文的設(shè)計(jì)原理,用戶可以根據(jù)自己的實(shí)際需要,在界面上改進(jìn)與調(diào)整。
[1]梁斌.走進(jìn)搜索引擎[M].北京:電子工業(yè)出版社,2007.
[2]宋春陽.Web搜索引擎技術(shù)綜述[J].現(xiàn)代計(jì)算機(jī),2008(5).
[3]徐寶文.搜索引擎與信息獲取技術(shù)[M].北京:清華大學(xué)出版社,2003.