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

2016-01-29 17:31 12 1 收藏

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

【 tulaoshi.com - ASP 】

  摘要: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.CreateRecord

来源:http://www.tulaoshi.com/n/20160129/1501716.html

延伸阅读
标签: PHP
编者按:这是一篇精彩的编程教学文章,不但详细地剖析了搜索引擎的原理,也提供了笔者自己对使用PHP编制搜索引擎的一些思路。整篇文章深入浅出,相信无论是高手还是菜鸟,都能从中得到不少的启发。 谈到网页搜索引擎时,大多数人都会想到雅虎。的确,雅虎开创了一个互联网络的搜索时代。然而,雅虎目前用于搜索网页的技...
标签: Web开发
     CSS 语法立意让网页内容与视觉呈现分离,一方面使得页面维护工作更容易,不会因内容或视觉效果改变影响到另一方,这样的页面设计,也对搜寻引擎更为友善,更容易搜寻到页面内容。          CSS,Cascading Style Sheets  串接样式表,网页外观的控制语法   ...
标签: PHP
  ccterran(原作) 作者:iwind   朋友用dreamweaver做了一个网站,没有动态的内容,只是一些个人收藏的文章,个人介绍等等。现在内容比较多了,想叫我帮他做一个搜索引擎。说实在的,这是一个不难的问题,于是就随手做了一个。现在我在其它论坛上也看到有人想做这个,于是就想说说这方面的知识,重在了解一下方法。 写程序前...
标签: Java JAVA基础
  package coreservlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.net.*; public class SearchEngines extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String searchString = request.get...
标签: Web开发
在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,而页面内容,相当一部分写入到了这些js脚本的命令中,而导致正常的DOM分析失败,无法提取所需的信息。 当然,如果这个页面模板确定,针对这个页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板。可是对于g...

经验教程

682

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部