动态网站制作指南



当前位置 > 网站建设学院 > 网络编程 > ASP实例 Rss
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket

用ASP实现对Web搜索引擎Index Server的访问


发表日期:2001-8-2


摘要:Index Server是专门为企业Web网站设计的专业搜索引擎,传统的访问方法HTML/IDQ/HTX由于固有的特性,缺乏灵活性。本文介绍用asp实现对Index Server访问的两种方法,以及如何实现复杂查询,和对查询结果的控制。 
关键字:Index Server ASP ADO 

在电子商务方兴未艾的今天,企业上网不但是为了展示企业形象,提高知名度;也意味着无穷的商机与财富。而内部网Intranet则为企业带来了全新的沟通方式和管理理念。因此构建企业Web站点已经排上了许多企业信息部门的日程。Web的优点在于可以方便的展示大量信息,但同时也带来了信息的泛滥使得寻找有效信息非常困难。为此,好的企业网站都拥有强大的搜索引擎,使得网站更加友好和便利。对于有政策法规、合同定单等大量文档上网的企业网站,信息搜索的服务必不可少。 
Index Server是专门为企业网站设计的专业搜索引擎,利用它可以非常轻松的在网站中加入功能强大的信息搜索功能。并且Index Server搜索的文件不局限于HTML格式,还支持TXT、DOC、EXL、RTF、GIF、JPEG等多种文件格式,并可以通过插入第三方插件来支持更多的文件格式。搜索范围可以是存放在本地服务器中的内容,也可以是网络中其他机器的共享资源,包括INTERNET中的资源。搜索时除了文档中的关键字词以外,还可以就文件大小、修改日期、作者等属性进行搜索。此外Index Server还支持英文、简体中文、德语、法语、日语等语种,无须编程,就可在网站中实现多语种的搜索引擎。由于Index Server是零维护设计,故只需启动Index Server服务,搜索引擎就会自动运行。而在Web服务器端,需要加入与Index Server连接的页面。 
传统Index Server的工作过程由浏览器通过HTML文档的FORM表单向Web服务器发出请求开始,Web服务器通过一个类似于数据库接口的专用文件.IDQ与Index Server连接,将客户的请求转换成Index Server理解的语句。Index Server再将查询结果按照模板文件HTX定义的格式组织成HTML文档,通过Web服务器返回给浏览器。这种方式称为HTML/IDQ/HTX方式,需要三个文件配合完成查询。使用这种方式不能对查询结果进行处理,并且模板文件HTX格式单一。因此微软在Index Server 2.0 中加入了对Active Server Scripts的支持,用一个ASP文件替代先前的三个文件。由于ASP有灵活且功能强大的脚本语言操纵,因此Web开发者可以设计条件复杂的查询,并能更加精确的处理查询结果。 

图1.ASP访问Index Server工作过程 
熟悉Index Server 1.0 或 1.1版本的用户,可以在ASP文件中使用Index Server query object,对象参数和查询语句都和传统的.IDQ文件保持一致。此外,还可以利用ADO 技术创建对象,用标准数据库查询语言Structured Query Language (SQL)语句定义查询。两种对象都以ADO记录集(Recordsets)的形式返回结果。因此对于数据库Recordset操作的代码可以直接用于查询结果。 
ASP文件要完成查询,首先要在文件中定义一个表单用于接收查询要求,表单的动作指向ASP文件本身。本例中用名为SearchString的文本框接收查询字段。 
eg.1 在sample .asp文件中定义查询表单 

<FORM ACTION = "sample .asp" METHOD="GET"> 
<TABLE > 
<TR> 
<TD>输入欲搜索关键词:</TD> 
</TR> 
<TR> 
<TD><INPUT TYPE="TEXT" NAME="SearchString" SIZE="40" VALUE=""></TD> 
<TD><INPUT TYPE="SUBMIT" VALUE="GO"></TD> 
</TR> 
</TABLE> 


接下来在ASP文件中建立Index Server 查询对象,并为Index Server 参数赋值。 
方法1.利用Index Server query object和参数 

<% 
Set Q= Sever.CreatObject(“ixsso.Query”) ‘创建查询对象 
Set Util= Sever.CreatObject(“ixsso.Util”) 
Q.Query= Request(“SearchString”) ‘查询字段 
Q.SortBy=”rank[d]” ‘按照符合程度降序排列 
Q.Columns=”DocTitle,vpath,filename,size,write,characterization,rank” 
‘返回记录属性 
Q.MaxRecords=300 ‘最多返回记录数 
Util.AddScopeToQuery Q,”/”,”DEEP” ‘搜索所有子目录 
Q.LocaleID=Util.ISOToLocaleID(“ZH-CN”) ‘指定所用语言为简体中文 
Set RS = Q.CreateRecordSet("nonsequential") ‘创建输出集 
%> 

方法2.利用ADO query object和SQL语句 

<% 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.ConnectionString = "PRovider=msidxs;" 
Conn.Open 
Set AdoCommand = Server.CreateObject("ADODB.Command") 
Set AdoCommand.ActiveConnection = Conn 
AdoCommand.CommandText = "Select DocTitle,vpath,filename,size,write,”& 
“characterization,rank FROM SCOPE() WHERE CONTAINS (’”& 
SearchString &”’) ORDER BY rank DESC” 
Set RS = Server.CreateObject("ADODB.RecordSet") 
RS.open AdoCommand 
%> 

创建包括文件大小、作者等属性的复杂条件的查询,可在表单中加入输入相应限定条件的域,如图2所示。 

图2.带限定条件的复杂查询表单 
提交表单后各值由Query语句接收,如以下一个Query语句: 
Q. Query=“ (@DocAuthor ”+ DocAuthorRestriction +“) & (@Write >” + 
FMModDate + “) & (@Size ”+ FSRest + FSRestVal +“) & @Contenets”+ 
SearchString 

其中,DocAuthorRestriction、FMModDate、FSRest、FSRestVal、SearchString分别代表浏览器端输入的作者、修改时间、比较符号、比较大小和关键字词等值。此外Index Server还支持自然语言查询(Free Text Queries),如可输入语句:“怎样使用Index Server管理工具?”。并在Query字段中添加标记$ Contenets。Index Server将进行语法分析,自动生成查询语句。 
如前所述,两种查询对象返回的结果都是ADO记录集(Recordsets),因此可以用数据指针来操作输出。 
eg.2 在sample .asp文件中定义输出格式 

<% if Not RS.EOF %> 
<table border=0> 
<colgroup width=105> 
<% end if %> 

<% Do While Not RS.EOF %> 
<tr> 
<td valign=top > 
<a href="<%=RS("vpath")%>" ><%= Server.HTMLEncode( RS("filename") )%> 
</a></td> 
<td valign=top> 
<%if VarType(RS("characterization")) = 8 and RS("characterization") <> "" then%> 
<b><I>摘要 </I></b><%= Server.HTMLEncode(RS("characterization"))%> 
<%end if%> 
<p><a href="<%=RS("vpath")%>" >http://<%=Request("server_name")%> 
<%=RS("vpath")%></a></p> 
</td> 
</tr> 
<% 
RS.MoveNext 
Loop 
%> 
</table> 

根据需要,还可以输出作者、文件大小、创建时间等属性。比较常见的还有把文件符合查询的程度划分为五个级别,分别用不同数目的星图标识,这是传统的HTX文档无法实现的功能。 
结合ASP和 Index Server,我们可以开发出功能强大的搜索引擎应用。实施简单方便,没有特殊的编程要求,并且搜索的速度和准确度也比较理想,非常适合企业级Web网站采纳。 


关注此文的读者还看过:
·2012-5-17 12:26:33 动态显示图片的函数(显示广告条) 
·2012-5-17 12:26:28 怎样写你自己的EMAIL组件(原理)
·2012-5-17 12:24:38 简单的加密方法:XOR
·2012-5-17 12:21:41 StripNonNumeric函数源程序
·2012-5-17 12:21:32 通过事例学习.net的WebForms技术(一)
·2012-5-17 12:20:38 bbs树型结构的实现方法(二)
·2012-5-17 12:20:34 使用纯粹的asp+语言制作的栏目管理(三)
·2012-5-17 12:20:19 jmail4.1用pop3收信的例子
·2012-5-17 12:19:26 用SQL Server为Web浏览器提供图像1
站长推荐 PS笔刷下载 在线翻译 系统进程 广告代码
  发表评论
姓 名: 验证码:
内 容:
教程搜索服务
ASP源码推荐
·千博政府网站管理系统 v2012 Bu
·25175 学生成绩管理查询系统 v2
·钧尹网络免费空间系统 v1.1
·84网址站 v4.10 build 091023
·奥运新闻小偷 1024 DVI+CSS asp
·驿站论坛网 v2.1
·彭辉拥笑图管理系统 v1.0
·国内最大的虚拟主机申请系统
·幻影电影视频系统TvsCms v1.3 伪
·好22网络TOM新闻小偷 v1.0
·东旭内容管理系统 v1.20
·飞鸟简单图片管理系统(带图片防
项目外包信息
·UI界面设计
·产品外观改版设计 15000元
·照明灯具网站设计 10000元
·求长期合作网站设计制作高手
·做B2C网站 20000元
·Android或QT软硬件平台设计(工
·网站首页FLASH
·网站PSD稿设计
·企业网站整站网页设计(美观大气
·网站页面设计及套入程序
·UI界面设计
·产品外观改版设计 15000元
·照明灯具网站设计 10000元
·求长期合作网站设计制作高手
·PPT设计
发布信息 浏览信息
邮件订阅服务
输入你的邮件地址,你将不会错过任何关于<ASP实例>的内容


网络编程文章分类
ASP教程
ASP实例
ASP技巧
ASP文摘
PHP教程
PHP技巧
PHP实例
PHP文摘
JSP教程
JSP技巧
JSP实例
JSP文摘
ASP.NET教程
ASP.NET技巧
ASP.NET实例
ASP.NET应用
xml教程
xsl教程
xml技巧
C#教程
C#应用
Delphi教程
Perl教程
Shell教程
Ajax教程
Visual Basic教程
Java教程
J2EE/J2ME教程
C/C++教程
移动解决方案
移动短信技术
移动行业动态
软件工程
WordPress
Android开发
站长工具:Google PR查询|Alexa排名查询|网站速度测试|CSS在线编辑器|OPEN参数生成器|弹出式窗口代码产生器|密码登录生成器|在线按钮生成器|Meta标签生成器|邮箱图标在线生成|多色彩特效字代码生成器|网页代码调试器|在线FTP登陆|Flash取色器|配色代码对照表|配色辞典|CSS生成器|CSS在线压缩|广告代码|框架网页代码生成器|js/vbs加密|md5加密|进制转换|UTF-8 转换工具|在线调色板|Html转换js|Html转换asp|Html转换php|Html转换perl
实用工具:汉字翻译拼音|拼音字典|在线翻译|天气预报|火星文|在线网速测试|符号对照表|个税计算|理财工具|黄金价格|购房银行按揭利率计算|汇率查询|经典小工具|汉字简繁转换|普通单位换算|公制单位换算|生辰老黄历|国内电话区号|国家代码与域名缩写|文字加密解密|元素周期表|健康查询|世界时间|全国各地车牌查询|全国车辆交通违章查询|万年历|二十四节气|汉字横竖排版|手机号码查询|计算器|ip搜索|酒店预订|机票预订
广告刊登 | 版权声明 | 联系我们 | 加入收藏 | RSS订阅
Copyright © 2000-2012 www.knowsky.com All rights reserved | 沪ICP备05001343号