摘要:通过词句查找相关的全文是浏览器端常用的方法,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_match Loop
a.Close
endfunction
〈/script〉
〈/body〉
〈/html〉
用ASP做全文检索
时间: 2025-01-26 21:26:23
用ASP做全文检索的相关文章
用ASP做个简单聊天室
聊天|聊天室 这次我为大家介绍的是我第一个用ASP做的程序----聊天室,很简单,没用数据库,但是对于还未学到ADO的同志是个比较好的参考例子,这个例子基本包括了所以ASP的五个内置对象,但是有了聊天室的雏形,如果水平到家可以在此基础上做的强大好看点好了,废话不说了,现在进入正题吧! 首先这个程序有四个部分组成,分别是index.asp,chat.asp,show.asp,input.asp首先调用chat.asp然后就可以运行了! 作为一个初学者,我觉得写一个程序整体观念很重要,也就是说你首先
用FLASH和ASP做留言本-ASP篇(上)
用FLASH和ASP做留言本-ASP篇(上)这个是关于view.asp的源程序:<%constr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("luiyan.mdb") & ";"set conn = server.createobject("ADODB.Connect
用FLASH和ASP做留言本-ASP篇(下)
用FLASH和ASP做留言本-ASP篇(下)有关send.asp,基本同view.asp<%name=request("name")text=request("text")constr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("luiyan.mdb") &
用FLASH和ASP做留言本-FLASH篇
用FLASH和ASP做留言本-FLASH篇 关于用ASP向FLASH中写入数据:如:要让FLASH知道A=1这个值,必须这样输入&A=1°ASP中用这样的语句response.write("&A=1"). 在FLASH中引入ASP文件,可以用这样的语句来得到: loadVariables ("http://localhost/view.asp", "");(这里是默为本地机子) 而ASP要从
asp 成绩处理-asp做个田径运动会总分表,打开慢
问题描述 asp做个田径运动会总分表,打开慢 用asp+Access做了个运动会总分表,打开网页要十多秒钟,循环查询记录,不知道有什么好方法,能打开速度快点,年级班级采用循环,成绩一次性读取 解决方案 这个有很多可能,查询或者算法不优化,数据表结构不合理.你的页面做了什么操作,把多次查询合并到一次,重新组织你的查询.是不是可以减少查询的次数,等等. 解决方案二: 查询项目名称,年级,根据年级查询班级,然后根据班级名称项目名称依次查询得分,这样下来,每条记录都要查询一次,有个想法,把所有记录查询出
图片显示-用asp做一个图片滚动显示时为什么图片不是滚动显示,而是一个一个排列出来的?
问题描述 用asp做一个图片滚动显示时为什么图片不是滚动显示,而是一个一个排列出来的? 就是像那些门户网站上一样,一个图片框里轮流显示几个图片,图片框下边有图片编号比如12345,鼠标移到图片编号上会显示相应的图片,我的部分代码是从别的网页上粘过来的,最后图片不是在一个框里轮流显示而是铺开了显示了,我想知道是哪里的代码有问题..刚接触asp,很多地方不懂啊
想用asp做一个类似新闻发布的东西
问题描述 想用asp做一个类似新闻发布的小网站,数据库用的access的,文章内容字段用的备注型字段,网页输入框用的textaer,结果存入数据库是,文章内容只存textaer的一行数据.该如何处理,请各位指点啊 解决方案 解决方案二:不能啊你读取出来看看你的内容多了你只能看到一部分解决方案三:你可以截取一行内容嘛
跪求&;amp;quot;网上报刊征订系统&;amp;quot;源代码,ASP做的
问题描述 哪为高手有"网上报刊征订系统"源代码,ASP做的.请发给小弟一下.急用啊...谢谢
如何asp 做微信登录授权
问题描述 如何asp做微信登录授权? 解决方案 解决方案二:你这个问题..太笼统了吧..首先你需要看看微信的开发者文档..解决方案三: 解决方案四:开发者中心文档写得很清楚的解决方案五:发到asp论坛去.这里只有asp.net论坛,而微信公众平台有asp.net的SDK和一堆例子,都是现成的.但是asp的,不知道有没有.所以你应该到asp论坛去问.asp跟asp.net是两码事儿.