资源描述
第 1 6卷第 3期 2 0 0 1年 9胃 北京机械工业学院 学报 J o u rna l Be j)i r g I 嗽 i 他 e Ma d n 茁y 1 6 No 3 S e p 2 0 01 文 章 编 号:1 0 0 81 6 5 8(2 0 0 1)0 30 0 3 10 5 搜索 引擎的实现 方法及其改进 殷 旭(北京机械工业学院计算机厦 自动化系,北京 1 0 0 0 8 5)摘 要:以具体 的程 序剖 析 j利 用 AS P(Ac t i v e S e r v e r P a g e s)技 术 实现 搜 索 引擎的原理 及方 法,并 对 目前存 在的方 法进行 了适 当的改进,将 文件 名 称 的链接 改 为 文件标 题 的链接,更好 地 反映 搜 索文件 的 内容 具 有一定的实际应 嗣价 值。关键词:搜 索引擎;Ac t i v e S e r v e r P a g e s;链 接 中圈分类号:TP 3 1 1 1 文献 标 识码:B I n t e r n e t 是一片浩瀚的信息海洋 有成千上万数不清的各种信息和资料 要想快速准确地 找到 自己所需要 的信 息,就需要 搜索 引擎 的 帮助。搜 索引擎是 网上 查询的一 项重要 应用 如果 是 上 网 则要进入搜 索 引擎站点+借助 该站点 所提 供 的服务来 搜索 文件。目前,各站 点提供 的 信息量非常丰富+如何使上网者能够在本站所提供的信息中,更快地找到他们所要的东西显得 尤为重要。1 搜 索文件的基础 在 AS P程 序 中,要 想存 取 文件,必 需 先建 立 F i l e S y s t e mOb j e c t 对象+然 后 才能 建 立 F i l e对 象。F i l e S y s t e mOb j e c t 对象 不仅 提供 文件 存 取功 能 更 可 以用来 搜索 文 件 夹及 文件 下 面 就 介绍一 下 F i 1 e s y s t e mOb j e c 门十 象与文件 搜索有关 的功 能。1 1 搜索文件 夹及文件 F o l d e r 对象 假设 我们要 从某 一文件 夹 s o u r c e开始 搜索 文 件,首 先必 须知道 该 文 件夹 含 有 哪些 文 件、哪些子文件 夹等,通过 S c r i p t i n g对象 库所提供 的 F i 1 e s y s I e mOb j e c t 对象 的子对 象 F o l d e r 对 象,便 可轻易地 获取这 些 信息。先建立 Fi l e S y s t e mOb j e c t 对象 S e t f s=Se rve r C r e a t Ob j e e t(“S c r i p t i n g F i l e S y s t e mOh j e c t”)再 取得 s o u r c e文件夹 的 实际路 径 F u l l Pa t h=S e r v e r Ma p P a t h(“o u r c e”)建 立 S O L!r o e 文 件夹对 应的 F o l d e r 对象:f d Set f d=f s G e t F o l d e r(F u l l P a t h)注意:一定要 传入 实际路 径名。Fi l e对象及 F i l e s集合对象 F o l d e r 对 象 的 F i l e s 属 性 是 一个 集 合对 象,所代 表 的是该 文 件 夹 所 有 F i l e对 象 的 集 合 峨稿 已掘;2 1)1 0 3 一 作者筒介 殷 l il(1 9 6 4 一)。女 安徽肥东 北京机械工业学院计算机及 自动化摹讲怖 磺 士 主要从事丹培数 据库 I n t e r n 吐应 甩研究。维普资讯 http:/ 3 2 北京 机械 工 业学 院 学报 第 1 6卷 列举 s o u r c e文 件夹 中的所 有文件方法 为 F o rEa c h fI n f d Fi l e s Re s p o n s e Wri t e f,Na me“(B R)”Ne x t S u h F o l d e r s集合对象 F o l d e r 对 象 的 S u b F o Me r s 属 性也 是 一个 集 合对 象,所 代表 的是 该文 件夹 所有 子 F o l d e r对 象 的集 合 列举 s o u r c e文件夹 中的所有子文 件夹方法 为 Fo r E a c h s f d I n f d Su b F dd e r s Re s p o n s e Writ e s f d Na me“(B R)”Ne x t 1,2 搜索文件的内容 除 了搜 索文 件夹及 文件外,有时候 我们也希望搜 索文 件的 内容 以检查该 文 件是否 含有某 些文字,方法 如下:S e t f s=S e e r Cr e a t Ob j e c t(“S c r i p t i n g Fi l e Sy s t e mOb j e c t”)F u l l P a t h=S e e r Ma p P a t h(“s o u r c e”)S e t f o=f s Op e n Te x t F i l e(F u 1 P u t h)打 开文 件 C o n t e n t=f o R e a d Al l 读 取文件 所有 内容 I f I n S t r(c o n t e n t,S)O T h e n s为欲搜索的字符串 表示该 文件中 含有 s字 符 串 En d I f 2 制 作搜索 引擎采 用的技巧 2 1 递 归搜索 所有文 件夹 想要写出搜索引擎程序 除了实现单一文件夹的洲览方法之外 还必须能够实现搜索所有 文件夹 的所有文件,此 时必 需使 用 VB S c ri p t 的“递归调 用”,实现方 法如下:s u b L i s t F o l d e r(f d)f d为一 f o l d e r 对象 F0 r Ea c h s f d I n f d,Su b F o l d e r s Re s n 5 e Wri t e s f d n a me“B )”L i s t F o I d e r s f d Ne xt END S u b 2 2 建立 文件 及文件夹 链接标记 建 立文 件夹 的 HTML链接 作 用是 在测览 上面显示 如 s o u r c e的链 接,方法 如下:F u n c t i o n F o l d e r L i n k(P a t h)URL P a t h=S e r v e r URL E n e o d e(Un Ma p P a t h(P a t h)F o l d a r L i n k=“(A HR EF=”URu B t h。)”维普资讯 http:/ 第 3期 股旭:搜 索 引 擎 的实现 方法及 其 改 进 3 3 F o l d e r L i n k=“OTh e n e x t=Mi d(f P a t h,p o s+1)El s e ext En d I f I f L c a s e(e x t)“h t m”Th e n 只搜索 h t m 文 件 I f S e a r e h F i l e(f s)Th e n I f f o u n d=Fa l s e t h e n Fo u n d=Tr u e Re s p o n s e Wr i t e F o l d e r L i n k(f d)“P)输出文 件夹名 称 En d I f R espon s e W r i t e F i l e Li n k(f)En d I f En d I f Next F o r e a c h s f d I n f d S u b F o l d e r s 递 归搜索 所有子文件 夹 S e a t o h F0 I d es s f d S Next End S u b 3 2 搜索 某一 h t m 文 件 f 中是 否含有某 一字符 串 S F u n c t i o n S e a r c h Fi l e(f s)S e t f o:f s Op e n Te x t Fi l e(f)维普资讯 http:/ 北 京机 械 工业 学 院学 报 第 1 6卷 _ t e n t=f o Re a(k&l l f o c l o s e S e a r c h F i l e=I n S t r(1,c o n t e n t,S,v h T ex t C o mp a r e)0 En d Fu n c t i o n 平 常我 们调用 I n S t r函数 的语句 为 I n S t r(con t e n t s)含义 为在 con t e n t中寻 找 S的 位置。但在 S e m r c h F i l e函数 中 却写成:I n S t r(1,c o n t e n t,S,v b Text C o mp a r e)0,作用 是寻 找 字 符 串 s 时不 区分大 小写,如没 找到,则返 回 0,找到则返 回 1 1 2 。3 3 启动搜索 引擎 当用 户输 入要 搜 索 的 字 符 串后,向服 务 器发 出搜 索请 求,通 过 启 动 在 服 务 器 端 执 行 的 AS P服务程 序,实现字符 串的搜索,并把 搜索结果返 回给客户端 的浏览器用 户。(f o r m a c t i o n=“S e a r c h a s p”me t h o d=“G e t”、(P)请 输入欲 搜索 的字 串:(i n p u t t y p e=“t e x t”s i z e=“2 0”D B me=“S e a r c h S t fi n g”v a l u e=“(=S e a r c h S t r i n g)”)(i n p u t t y p e=“s u b mi t”v a l u e=“搜索”)(p)Uf m m)(S e t f s=S e r v e r Cr e a t e Oh j e c t(“S c r i p t i n g F i l e S y s t e mOb j e c t”)S e t f d=f s G e t F o l d e r(Se r v e r Ma p P a t h(“s o u r c e”)I f S e a r c h S t r i n g 0“”Th e n Re s p o n s e Wr i t e“(H2)搜索”S e a r c h S t r i n g“的结果:(H2)(P)”S e a r c h Fo l d e r f d,S e a r c h St fi n g En dI f )4 程序的改进 即将“文件名称”链接改成“文件标题”链接。因为“文件标题”比“文件名称”能更好地反映该文件的内容 使上网者 能够在网站所提供 的信 息 中,更快地找 到他 们所 要的东西。4 1 Sea r c h F i M函 数的修 改 由于标准 的 h t m 文件会把 标题 放 在(TI TL E)及(TI TL E)之 间,所 以我 们 可 以通 过 程 序 取 出(TI TL E)及(TI TL E)之 间的标题。F u n c t i o n Sea r c h F i(f,s t i t l e)文件 标题 将返 回给 t i d e 同前 S e a r c h Fi l e=I n S t r(1,con t e n t,S,Te x t C o mp a r e)O I fSe a r c h Fi l e Th e n pos l=I n S t r(1 l c o n t e n t,“(TI TL E)”,v h Te x t C o mp a r e)t ms l=I n S t r(1,c o n t e n t“(TI TL E)”,v h Te x t C o mp a r e)维普资讯 http:/ 第 3期 股旭:搜 索 引 擎 的实 现方 法 及 其 改进 t i de=I f p o s l0 And p。5 2 0 Th e n t i t l e=Mi d(o o n t e n t,p o s l+7,p o s 2一p o s l 一7)Er l di f En d i f En d Fu n c t i o n 4 2 F i l e L i n k函 数 的修改 将“文件名称 链接改成“文件标题”链接 如果文件投有标题。则给标题设置文件名称。F u n c t i o n F i l e L i n k(f,t i t l e)v P a t h=S e r v e r HT ML En e o d e(Un Ma p P a t h(f)I f t i t l e=Th e n t i t l e=f Na r r I e F i l e L i nk=“(AHR EF=”v P a t h“)”t i t l e“A)”F i l e L i n k=“uL)(I MG S R C=f i l e g i f Al i g n=Te x t T o p)”F l i e L i n k“UL)”END Func t i o n 4 3 调 用 S e a r c h F i l e 及 F i l e L i n k的语句要 增加 t i t l e 参 数 原语 句分 别是:I f s e a r c h F:l e(f,s)T h e n 修改 后成 为:I f S e a r c h F i l e(f t i d e)Th e n Re s p o n s e Wri t e F i l e L i n k(f)Re s p o n s e W ri t e F i l e L i n k(f。t i t l e)参考文献:1 撬 晓 乐 We b开发技 术 M 北京:人 民邮 电 出版社。1 9 9 9 2 1希 乖 J 尔 S。梅 其克 D Ac t i v e S e r v e r P a g e编程指 南 M 董启雄。刘 学来译 北 京:宇航 出版 社 1 9 9 8 M e t ho d o f r e a l i z i n g a n d i m pr o v i ng s e a r c h e ng i ne YI N X0 (D e p v r r mc t o f C o mp u t e r s Au t o ma fi o ,B e r in gI n s ti t u t eof Ma d 如 叮y 1 0 0 0 8 5 t Ch _呲)Ab s t r a c t Th e p r i n c i p l e a n d t h e me t h o d o f r e a l i z i n g s e a r c h e n gi n b y AS P t e c h n o l o g y i s a n a l y s e d i n t h e s p e c i f i c p r o g r a m The e x i s t e nt me t h o d o f r e a l i z i n g s e a r c h e n g i n i s i mp r o v e d a p p r o p r i a t l y The l i n k o f t h e f i l e n a me i s m。d i f i e d i n t o t h e l i n k o f f i l e t i t l e i n o r d e r t o b e t l e r i u u s t r a t e t h e c o nt e n t o f t h e s e a r c h e d f i l e L t a o f a p p l i e a t i o n a l v a l H e Ke y wo r d s:s e a r c h e og i n;Ac t i v e Se r v e r Pag e s;l i n k 维普资讯 http:/
展开阅读全文