仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 699|回复: 9
打印 上一主题 下一主题

[学习教程] ASP网页编程之用ASP完成对Web搜刮引擎Index Server的...

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:29:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。择要:IndexServer是专门为企业Web网站计划的专业搜刮引擎,传统的会见办法HTML/IDQ/HTX因为固有的特征,缺少天真性。本文先容用ASP完成对IndexServer会见的两种办法,和怎样完成庞大查询,和对查询了局的把持。
关头字:IndexServerASPADO

在电子商务如日中天的明天,企业上彀不仅是为了展现企业抽象,进步出名度;也意味着无量的商机与财产。而外部网Intranet则为企业带来了全新的相同体例和办理理念。因而构建企业Web站点已排上了很多企业信息部门的日程。Web的长处在于能够便利的展现大批信息,但同时也带来了信息的众多使得寻觅无效信息十分坚苦。为此,好的企业网站都具有壮大的搜刮引擎,使得网站加倍友爱和便当。关于有政策律例、条约订单等大批文档上彀的企业网站,信息搜刮的服务必不成少。
IndexServer是专门为企业网站计划的专业搜刮引擎,使用它能够十分轻松的在网站中到场功效壮大的信息搜刮功效。而且IndexServer搜刮的文件不范围于HTML格局,还撑持TXT、DOC、EXL、RTF、GIF、JPEG等多种文件格局,并能够经由过程拔出第三方插件来撑持更多的文件格局。搜刮局限能够是寄存在当地服务器中的内容,也能够是收集中其他呆板的共享资本,包含INTERNET中的资本。搜刮时除文档中的关头字词之外,还能够就文件巨细、修正日期、作者等属性举行搜刮。别的IndexServer还撑持英文、简体中文、德语、法语、日语等语种,不必编程,便可在网站中完成多语种的搜刮引擎。因为IndexServer是零保护计划,故只需启动IndexServer服务,搜刮引擎就会主动运转。而在Web服务器端,必要到场与IndexServer毗连的页面。
传统IndexServer的事情历程由扫瞄器经由过程HTML文档的FORM表单向Web服务器收回哀求入手下手,Web服务器经由过程一个相似于数据库接口的公用文件.IDQ与IndexServer毗连,将客户的哀求转换成IndexServer了解的语句。IndexServer再将查询了局依照模板文件HTX界说的格局构造成HTML文档,经由过程Web服务器前往给扫瞄器。这类体例称为HTML/IDQ/HTX体例,必要三个文件共同完成查询。利用这类体例不克不及对查询了局举行处置,而且模板文件HTX格局单一。因而微软在IndexServer2.0中到场了对ActiveServerScripts的撑持,用一个ASP文件替换先前的三个文件。因为ASP有天真且功效壮大的剧本言语利用,因而Web开辟者能够计划前提庞大的查询,并能加倍准确的处置查询了局。
</IMG>
.ASP会见IndexServer事情历程
熟习IndexServer1.0或1.1版本的用户,能够在ASP文件中利用IndexServerqueryobject,工具参数和查询语句都和传统的.IDQ文件坚持分歧。别的,还能够使用ADO手艺创立工具,用尺度数据库查询言语StructuredQueryLanguage(SQL)语句界说查询。两种工具都以ADO纪录集(Recordsets)的情势前往了局。因而关于数据库Recordset操纵的代码能够间接用于查询了局。
ASP文件要完成查询,起首要在文件中界说一个表单用于吸收查询请求,表单的举措指向ASP文件自己。本例顶用名为SearchString的文本框吸收查询字段。
eg.1在sample.asp文件中界说查询表单

<FORMACTION="sample.asp"METHOD="GET">
<TABLE>
<TR>
<TD>输出欲搜刮关头词:</TD>
</TR>
<TR>
<TD><INPUTTYPE="TEXT"NAME="SearchString"SIZE="40"VALUE=""></TD>
<TD><INPUTTYPE="SUBMIT"VALUE="GO"></TD>
</TR>
</TABLE>


接上去在ASP文件中创建IndexServer查询工具,并为IndexServer参数赋值。
办法1.使用IndexServerqueryobject和参数

<%
SetQ=Sever.CreatObject(“ixsso.Query”)‘创立查询工具
SetUtil=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.AddScopeToQueryQ,”/”,”DEEP”‘搜刮一切子目次
Q.LocaleID=Util.ISOToLocaleID(“ZH-CN”)‘指定所用言语为简体中文
SetRS=Q.CreateRecordSet("nonsequential")‘创立输入集
%>

办法2.使用ADOqueryobject和SQL语句

<%
SetConn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="provider=msidxs;"
Conn.Open
SetAdoCommand=Server.CreateObject("ADODB.Command")
SetAdoCommand.ActiveConnection=Conn
AdoCommand.CommandText="SelectDocTitle,vpath,filename,size,write,”&
“characterization,rankFROMSCOPE()WHERECONTAINS(’”&
SearchString&”’)ORDERBYrankDESC”
SetRS=Server.CreateObject("ADODB.RecordSet")
RS.openAdoCommand
%>

创立包含文件巨细、作者等属性的庞大前提的查询,可在表单中到场输出响应限制前提的域,如所示。
</IMG>
.带限制前提的庞大查询表单
提交表单后各值由Query语句吸收,如以下一个Query语句:
Q.Query=“(@DocAuthor”+DocAuthorRestriction+“)&(@Write>”+
FMModDate+“)&(@Size”+FSRest+FSRestVal+“)&@Contenets”+
SearchString

个中,DocAuthorRestriction、FMModDate、FSRest、FSRestVal、SearchString分离代表扫瞄器端输出的作者、修正工夫、对照标记、对照巨细和关头字词等值。别的IndexServer还撑持天然言语查询(FreeTextQueries),如可输出语句:“如何利用IndexServer办理工具?”。并在Query字段中增加标志$Contenets。IndexServer将举行语法剖析,主动天生查询语句。
如前所述,两种查询工具前往的了局都是ADO纪录集(Recordsets),因而能够用数据指针来操纵输入。
eg.2在sample.asp文件中界说输入格局

<%ifNotRS.EOF%>
<tableborder=0>
<colgroupwidth=105>
<%endif%>

<%DoWhileNotRS.EOF%>
<tr>
<tdvalign=top>
<ahref="<%=RS("vpath")%>"><%=Server.HTMLEncode(RS("filename"))%>
</a></td>
<tdvalign=top>
<%ifVarType(RS("characterization"))=8andRS("characterization")""then%>
<b><I>择要</I></b><%=Server.HTMLEncode(RS("characterization"))%>
<%endif%>
<p><ahref="<%=RS("vpath")%>">http://<%=Request("server_name")%>
<%=RS("vpath")%></a></p>
</td>
</tr>
<%
RS.MoveNext
Loop
%>
</table>

依据必要,还能够输入作者、文件巨细、创立工夫等属性。对照罕见的另有把文件切合查询的水平分别为五个级别,分离用分歧数量的星图标识,这是传统的HTX文档没法完成的功效。
分离ASP和IndexServer,我们能够开辟出功效壮大的搜刮引擎使用。实行复杂便利,没有特别的编程请求,而且搜刮的速率和正确度也对照幻想,十分合适企业级Web网站采取。


大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-17 23:32:25 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
透明 该用户已被删除
板凳
发表于 2015-1-21 10:52:23 | 只看该作者
掌握asp的特性而且一定要知道为什么。
因胸联盟 该用户已被删除
地板
发表于 2015-1-30 16:05:07 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-6 13:59:07 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
若相依 该用户已被删除
6#
发表于 2015-2-16 09:49:08 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-5 03:34:40 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
小妖女 该用户已被删除
8#
发表于 2015-3-11 23:09:55 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
简单生活 该用户已被删除
9#
发表于 2015-3-19 16:00:22 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-28 23:52:31 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 03:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表