-
asp.net教程之用ASP建立网站地图
为了不使用户一页一页地找寻所需信息,大多数大型Web站点在突出的地方都有一个搜索特性,在文本框内输入几个单词,于是就有了想要看的页面。你可能得不到完全符合需要的页面,但是可以添加更多的关键字,细化搜索。本文通过IIS内置的Index Server服务,介绍如何建立和使用网站地图。
配置Index Server在执行Web服务器上的搜索之前,首先必须创建至少一个索引,并遵循以下步骤完成这项工作。
⒈启动Windows 2000 Server服务器上的索引。缺省情况下选择图标位于管理工具组中的计算机管理,启动后将出现图1所示的界面。窗口的右边提供关于当前在服务器上存在的索引信息。默认有两个索引:System和Web。
⒉要创建新的索引,用鼠标右键单击索引服务或右边的面板,选定新建编录。显示添加编录对话框,指定索引的名称并用浏览按钮选取位置。索引服务不会立即开始索引,此时将弹出一条消息框,单击确定继续。为了达到最佳的性能,索引服务可以放在和Web服务器隔离开的硬盘上。
⒊指定索引的目录,用右键单击新建的编录名,从弹出选单中选定属性,将出现如图2所示的对话框。第一个选项卡常规显示刚刚输入的内容,在第二个选项卡跟踪中的WWW服务器下拉列表中选取你要索引的Web网站。
⒋有了创建的编录,现在可以挑选你想在索引中包括的目录。这个强大的特性使你能创建几个用不同方式搜索内容的索引。例如,你可能想快速浏览从完整的文本中所引出的章节,这个特性使你能在Index Server内执行这项任务。要添加一个目录,用右键单击右边的面板,选定新建目录。在出现的对话框中通过浏览按钮选择目录并指定别名。如果必须登录到服务器才能得到需要的内容,则可以提供将使用的用户名和密码,以便得到需要的内容。如果想检查受保护的内容,则更要维护内容的安全性,这一特性非常有用,这样只有被授权的用户(也许是那些为此付钱的人)才能得到完整的内容。
还可以使用这个工具排除Web站点中不想索引的子目录。例如,检索Scripts/CGI目录就不会对用户有什么用。为此,只要双击该目录,将包括在索引中选定为否即可,见图3。
⒌在已经为站点包括/排除了所有目录后,用右键单击右面板,从弹出选单中选定启动,重新启动Index Server服务。服务器将开始浏览已经创建的索引并开始检索内容。
创建简单的搜索页搜索页分为两部分,即数据输入表单和搜索结果表单。程序清单如下:
<html><head><title>Index Server Demo</title></head><body><form method="POST" action="query.asp">搜索:<input type="text" name="txtQuery" size="16"><input type="submit" value="确定">
<% If Request("txtQuery") <> "" ThenDim objQueryDim rsQuerySet objQuery = Server.CreateObject("ixsso.Query")objQuery.Query = Request("txtQuery")objQuery.Columns="filename,vpath,DocTitle"objQuery.Catalog = "E:\InetPub\wwwroot\qhmolss"objQuery.MaxRecords = 50Set rsQuery = objQuery.CreateRecordset("nonsequential")
If rsQuery.EOF Then %><font color="#FF0000">没有适合您的查询</font><%Else %>
<table><% Do While Not rsQuery.EOFIf rsQuery("doctitle") <> "" Then %><tr><td><a href="<% = rsQuery("vpath") %>"><% = rsQuery("doctitle") %></a></td></tr><% End IfrsQuery.MoveNextLoopResponse.Write "</table>"End IfEnd If %></form></body></html>当第一次运行程序时,由于txtQuery变量为空,这样只显示程序的数据输入表单,此时如果输入查询单词“青海省”,程序将自身调用,显示出两个表单.
程序说明在这段程序中,Query对象是搜索引擎的中心,这个对象直接和Index Server引擎对话以检索数据。
为了能返回任何结果,必须设置几个关键的属性:Query、Columns和Catalog。本文使用MaxRecords属性,但不要求必须使用。Query属性用于存储搜索准则,在这种情况下,可以将数据输入表单文本框放在一页。Columns属性存储从查询返回的各列,这些列的名称是固定的。最后一个必须设置的属性是Catalog属性,它指定索引所在的目录。
一旦填充了Catalog对象,就创建了从查询得到的ADO记录集。这个记录集和从数据库中创建的记录集一样,可以以相同的方式导航。
其余的代码用于显示结果。在创建表格(例中只有一列)之后,循环遍历所有的纪录。可以选择只有标题的文件,因为Index Server能索引不必显示出来的其他类型的文件(如图形文件)。在某些情况下,你可能需要显示图像,但是在这种情况下,我们只需要文本文档。
使用vpaht和doctitle参数,可以构建指向找到的文件的URL。vpath参数是文件的虚拟路径,docttitle参数是文档的标题。对于HTML文档而言,这是在文件的<TITLE>标记之间的值。对于其他类型的文档,标题随着存储位置的不同而变。
配置Index Server在执行Web服务器上的搜索之前,首先必须创建至少一个索引,并遵循以下步骤完成这项工作。
⒈启动Windows 2000 Server服务器上的索引。缺省情况下选择图标位于管理工具组中的计算机管理,启动后将出现图1所示的界面。窗口的右边提供关于当前在服务器上存在的索引信息。默认有两个索引:System和Web。
⒉要创建新的索引,用鼠标右键单击索引服务或右边的面板,选定新建编录。显示添加编录对话框,指定索引的名称并用浏览按钮选取位置。索引服务不会立即开始索引,此时将弹出一条消息框,单击确定继续。为了达到最佳的性能,索引服务可以放在和Web服务器隔离开的硬盘上。
⒊指定索引的目录,用右键单击新建的编录名,从弹出选单中选定属性,将出现如图2所示的对话框。第一个选项卡常规显示刚刚输入的内容,在第二个选项卡跟踪中的WWW服务器下拉列表中选取你要索引的Web网站。
⒋有了创建的编录,现在可以挑选你想在索引中包括的目录。这个强大的特性使你能创建几个用不同方式搜索内容的索引。例如,你可能想快速浏览从完整的文本中所引出的章节,这个特性使你能在Index Server内执行这项任务。要添加一个目录,用右键单击右边的面板,选定新建目录。在出现的对话框中通过浏览按钮选择目录并指定别名。如果必须登录到服务器才能得到需要的内容,则可以提供将使用的用户名和密码,以便得到需要的内容。如果想检查受保护的内容,则更要维护内容的安全性,这一特性非常有用,这样只有被授权的用户(也许是那些为此付钱的人)才能得到完整的内容。
还可以使用这个工具排除Web站点中不想索引的子目录。例如,检索Scripts/CGI目录就不会对用户有什么用。为此,只要双击该目录,将包括在索引中选定为否即可,见图3。
⒌在已经为站点包括/排除了所有目录后,用右键单击右面板,从弹出选单中选定启动,重新启动Index Server服务。服务器将开始浏览已经创建的索引并开始检索内容。
创建简单的搜索页搜索页分为两部分,即数据输入表单和搜索结果表单。程序清单如下:
<html><head><title>Index Server Demo</title></head><body><form method="POST" action="query.asp">搜索:<input type="text" name="txtQuery" size="16"><input type="submit" value="确定">
<% If Request("txtQuery") <> "" ThenDim objQueryDim rsQuerySet objQuery = Server.CreateObject("ixsso.Query")objQuery.Query = Request("txtQuery")objQuery.Columns="filename,vpath,DocTitle"objQuery.Catalog = "E:\InetPub\wwwroot\qhmolss"objQuery.MaxRecords = 50Set rsQuery = objQuery.CreateRecordset("nonsequential")
If rsQuery.EOF Then %><font color="#FF0000">没有适合您的查询</font><%Else %>
<table><% Do While Not rsQuery.EOFIf rsQuery("doctitle") <> "" Then %><tr><td><a href="<% = rsQuery("vpath") %>"><% = rsQuery("doctitle") %></a></td></tr><% End IfrsQuery.MoveNextLoopResponse.Write "</table>"End IfEnd If %></form></body></html>当第一次运行程序时,由于txtQuery变量为空,这样只显示程序的数据输入表单,此时如果输入查询单词“青海省”,程序将自身调用,显示出两个表单.
程序说明在这段程序中,Query对象是搜索引擎的中心,这个对象直接和Index Server引擎对话以检索数据。
为了能返回任何结果,必须设置几个关键的属性:Query、Columns和Catalog。本文使用MaxRecords属性,但不要求必须使用。Query属性用于存储搜索准则,在这种情况下,可以将数据输入表单文本框放在一页。Columns属性存储从查询返回的各列,这些列的名称是固定的。最后一个必须设置的属性是Catalog属性,它指定索引所在的目录。
一旦填充了Catalog对象,就创建了从查询得到的ADO记录集。这个记录集和从数据库中创建的记录集一样,可以以相同的方式导航。
其余的代码用于显示结果。在创建表格(例中只有一列)之后,循环遍历所有的纪录。可以选择只有标题的文件,因为Index Server能索引不必显示出来的其他类型的文件(如图形文件)。在某些情况下,你可能需要显示图像,但是在这种情况下,我们只需要文本文档。
使用vpaht和doctitle参数,可以构建指向找到的文件的URL。vpath参数是文件的虚拟路径,docttitle参数是文档的标题。对于HTML文档而言,这是在文件的<TITLE>标记之间的值。对于其他类型的文档,标题随着存储位置的不同而变。
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式