2.3系统设计
索引建立模块(agent)的界面上参数主要包含服务器IP地址、服务器前缀、选择搜索的路径、设置定时时间等。服务器相关的文件是以海量规模存储的,为了提高索引建立的效率,系统采用后台的存储过程来实现对数据库的操作。
索引建立模块是整个系统的核心,通过递归算法,将服务器中指定文件夹中所有文件(或者指定类型文件)的信息依次提取,将文件物理地址转换为逻辑地址并形成对应关系,按照数据库表结构预先设定的规则放入数据库对应表中,实现对文件服务器中文件索引的建立。搜索的用户程序采用B/S结构,用户通过浏览器搜索关键字实现对资源的查询。搜索的关键字采用对所在分类文件夹和文件名中模糊匹配,将搜索的结果以类别、文件名、文件类型、文件大小等信息来展现。
2.4主要核心代码
(1)搜索文件代码
if(FindFirst(PathName+"*.*", faAnyFile, sr)== 0)
{
do
{
if((sr.Attr&faDirectory)&&sr.Name!="."
&&sr.Name!="..")
//判断是否是目录,并排除目录“.”和“..”
{
//mem->Lines->Add("目录:"+sr.Name); //调用函数本身,进入子目录
BrowDir(PathName+sr.Name+"\",kind);
}
}while (FindNext(sr) == 0);
FindClose(sr);
}
(2)调用存取过程代码
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();
内网资源搜索引擎对于类似校园网内部资源的整合有很重要的作用,它的重要性表现在能将校园网的各种资源以统一的搜索引擎的方式提供给用户,方便用户的查找与使用,极大地提高了这些资源的利用率。本文介绍的校内网搜索引擎已经在我校产生的明显的效果,随着推广的深入,广大师生越来越多地都在使用它来寻找自己所需要的资源,极大提高了工作效率并减轻了校园网出口带宽的压力。
参考文献
[1] 郝金隆,王成良.原创优先的搜索引擎排序算法[J].计算机工程,2008,34(18):85-86.
[2] 任勇旗,唐毅.以客户为中心的搜索引擎优化研究[J].图书馆学研究,2009(1):44-45.
[3] 吴断,施水才.一种结合超链接分析的搜索引引擎排序[J].计算机工程,2004,30(15):143-145