一種校內(nèi)網(wǎng)資源搜索引擎的設(shè)計與實現(xiàn)
2.3系統(tǒng)設(shè)計
索引建立模塊(agent)的界面上參數(shù)主要包含服務(wù)器IP地址、服務(wù)器前綴、選擇搜索的路徑、設(shè)置定時時間等。服務(wù)器相關(guān)的文件是以海量規(guī)模存儲的,為了提高索引建立的效率,系統(tǒng)采用后臺的存儲過程來實現(xiàn)對數(shù)據(jù)庫的操作。
索引建立模塊是整個系統(tǒng)的核心,通過遞歸算法,將服務(wù)器中指定文件夾中所有文件(或者指定類型文件)的信息依次提取,將文件物理地址轉(zhuǎn)換為邏輯地址并形成對應(yīng)關(guān)系,按照數(shù)據(jù)庫表結(jié)構(gòu)預(yù)先設(shè)定的規(guī)則放入數(shù)據(jù)庫對應(yīng)表中,實現(xiàn)對文件服務(wù)器中文件索引的建立。搜索的用戶程序采用B/S結(jié)構(gòu),用戶通過瀏覽器搜索關(guān)鍵字實現(xiàn)對資源的查詢。搜索的關(guān)鍵字采用對所在分類文件夾和文件名中模糊匹配,將搜索的結(jié)果以類別、文件名、文件類型、文件大小等信息來展現(xiàn)。
2.4主要核心代碼
(1)搜索文件代碼
if(FindFirst(PathName+*.*, faAnyFile, sr)== 0)
{
do
{
if((sr.AttrfaDirectory)sr.Name!=.
sr.Name!=..)
//判斷是否是目錄,并排除目錄“.”和“..”
{
//mem->Lines->Add(目錄:+sr.Name); //調(diào)用函數(shù)本身,進入子目錄
BrowDir(PathName+sr.Name+,kind);
}
}while (FindNext(sr) == 0);
FindClose(sr);
}
(2)調(diào)用存取過程代碼
ADOStoredProc1->ProcedureName=sp_insert;
ADOStoredProc1->Parameters->ParamByName(@ipstr)->Value=Trim(Form1->edip->Text);
ADOStoredProc1->Parameters->ParamByName(@frontstr)->Value= Trim(edfront->Text);ADOStoredProc1->Parameters->ParamByName(@folderstr)->Value=PathName.SubString(edpath->Text.Length()+2,PathName.Length()-edpath->Text.Length());
ADOStoredProc1->Parameters->ParamByName(@filenamestr)->Value=sr.Name;
ADOStoredProc1->Parameters->ParamByName(@filetypestr)->Value= ExtractFileExt(PathName+sr.Name);
ADOStoredProc1->Parameters->ParamByName(@filesizestr)->Value= sizestr;
ADOStoredProc1->Prepared;
ADOStoredProc1->ExecProc();
內(nèi)網(wǎng)資源搜索引擎對于類似校園網(wǎng)內(nèi)部資源的整合有很重要的作用,它的重要性表現(xiàn)在能將校園網(wǎng)的各種資源以統(tǒng)一的搜索引擎的方式提供給用戶,方便用戶的查找與使用,極大地提高了這些資源的利用率。本文介紹的校內(nèi)網(wǎng)搜索引擎已經(jīng)在我校產(chǎn)生的明顯的效果,隨著推廣的深入,廣大師生越來越多地都在使用它來尋找自己所需要的資源,極大提高了工作效率并減輕了校園網(wǎng)出口帶寬的壓力。
參考文獻
[1] 郝金隆,王成良.原創(chuàng)優(yōu)先的搜索引擎排序算法[J].計算機工程,2008,34(18):85-86.
[2] 任勇旗,唐毅.以客戶為中心的搜索引擎優(yōu)化研究[J].圖書館學(xué)研究,2009(1):44-45.
[3] 吳斷,施水才.一種結(jié)合超鏈接分析的搜索引引擎排序[J].計算機工程,2004,30(15):143-145
評論