分享
 
 
 

用ASP做全文检索

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

摘要:通过词句查找相关的全文是浏览器端常用的方法,ASP类似于CGI,也可以进行简单的文本方式全文检索

关键词:ASP检索Intranet网页ADO数据源

在Internet/Intranet上对某类信息做详细浏览和全文检索也是常碰到的情况。ASP是微软公司开发的用于制作动态Web页的一种服务器端

脚本型式(或曰编写环境)。它使用VBScript或JavaScript等简易的脚本语言,集成在HTML码中,在服务器端响应浏览器端请求而执行数据访

问和过程(或对象)调用并产生浏览器端执行的脚本语言。本文介绍用ASP编写全文检索代码的方法。

方法介绍:

确定被检索的文件。将它们保存在同一文件夹中。文件的类型可以是任何文本类型(包括.htm网页文件类型)

建立被检索文件的信息库。其中主要包含文件名,文件标题等。

用ADO方式访问数据库。建立记录集对象。

逐个打开记录集中当前记录所指向的文件。用查找的字串对文件的全文本进行匹配比较。

将符合条件的文件标题输出到客户端Web页,并加入指向该文件的超链,以供用户选择浏览。

技术要点:

数据源。要在创建脚本之前,利用Windows95控制面板中的ODBC指定要访问的数据库及其驱动程序,以数据源名(DSN)标识之。

匹配字串的长度。由于浏览器端的数据经过编码传到服务器端,ASP通过其内建对象Request取得的数据也并非完全是用户输入的有用信息

,所以要加以处理。可以在输入字串后附加一标志字符(如#或chr(7))。本文则采取另一种方法,即计算有效信息的长度。从而截取所需的

字串。

创建脚本的文件系统对象Scripting.FileSystemObject,从而打开文本流以读入。

特点:

直接对.htm文件进行全文检索,省却许多转换过程。.htm文件又用于网页的显示,一举两得。

应用ASP,简单明了,易于实现。

本例ASP代码:

〈%@LANGUAGE="VBSCRIPT"%〉

〈html〉

〈head〉

〈metaNAME="GENERATOR"Content="MicrosoftFrontPage3.0"〉

〈metaHTTP-EQUIV="Content-Type"content="text/html;charset=gb_2312-80"〉

〈title〉DocumentTitle〈/title〉

〈metaname="MicrosoftBorder"content="tl,default"〉〈/head〉

〈bodyBACKGROUND="/ie/images/watermrk.gif"BGPROPERTIES="FIXED"BGCOLOR="#00FFFF"〉

〈%

mousepointer=13

SetConn1=Server.CreateObject("ADODB.Connection")

conn1.open"DSN=cznj"

Setrcst1=conn1.execute("SELECT*FROMpages_catalogue")

sch_str=request.form("text1")

doubbytes=len(sch_str)\2

sch_str=left(sch_str,doubbytes)

Response.Write"〈strong〉〈CENTER〉〈H2〉查找结果〈/H2〉〈HR〉〈Br〉〈/strong〉"

Dimresult

result=false

Response.Write"〈UL〉"

dowhilenotrcst1.eof

tit=rcst1.fields("file_title")

fn=rcst1.fields("file_name")

file_name=Server.MapPath("/")&"\njweb\private\"&fn

to_find=text_match(file_name,sch_str)

ifto_findthen

url="private/"&fn

Response.Write"〈LEFT〉〈LI〉〈H4〉〈AHREF="&url&"〉"&tit

endif

rcst1.movenext

result=resultorto_find

loop

Response.Write"〈/UL〉"

ifnotresultthen

Response.Write"〈H3〉〈I〉未找到!〈/I〉〈/H3〉"

endif

mousepointer=0

%〉

〈scriptRUNAT="Server"LANGUAGE="VBScript"〉

functiontext_match(filename,search_string)

dimretstring

dimfind_pos

Dimfso,a

dimdone

text_match=false

Setfso=Server.CreateObject("Scripting.FileSystemObject")

Seta=fso.OpenTextFile(filename,1,FALSE)"ForReading--〉1

done=a.AtEndOfStreamortext_match

DoWhilenotdone

retstring=a.ReadLine

find_pos=instr(retstring,search_string)

iffind_pos〉0thentext_match=true

done=a.AtEndOfStreamortext_matchLoop

a.Close

endfunction

〈/script〉

〈/body〉

〈/html〉

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有