Microsoft Index Server
在你访问一个站点时,Microsoft Index Server能给你提供一些常用的功能,例如:“Search The Web Site”。 Microsoft Index Server能为运行Internet Information Server(IIS)的服务器提供综合的内容索引。你可以生成这个一个查询,例如:“在网页中查找包含关键字Index和Internet的内容。” 这个索引服务器还可以索引不同语言的文档。
如果你的服务器的文档是Word或Execl格式,那会出现什么情况呢? 这些文档也可以被索引服务器索引,-这个功能对那些雇员查询不必要在Inernet上发布的文档是很有标准的。
传统的索引工具都是一些昂贵的软件,同时也很难安装。但是,Microsoft Index Server是免费的,是WINDOWS NT 4。0的一个可以下载的组件。这就意味着,如果你的组织有NT 4.0的服务器,你就可以在你的局域网Internat上以它原来的格式直接访问这台服务器上任何文档了,而不需要把所有的东西都转换成HTML代码。
注意
要得到Microsoft Index Server的附加信息,参看微软的站点:
www.microsoft.com/windows/common/contentNTSI。Microsoft Index Server的一个关键的特征就是自动维护。一旦他被安装好以后,Microsoft Index Server就能提供24小时的服务。他在后台运行,能优化资源,当文件更新时,索引也会更新,当发生错误时,他还能自动恢复。
使用Microsoft Index Server可以进行一次查询。用户输入一个查询命令行,告诉他你要检索的东西,就可以在一个目录下进行检索。
这些就是Microsoft Index Server的包括的查询特征:
.全文本索引。搜索整个句子或段落。
按照属性查询。 搜索在某一个特定的时间内产生有一定的文件大小的HTML文件, 等等。
“Fuzzy”查询。 使用类似LIKE的操作,符来查找和你只知道大概的名字的东西。
高级查询。在你的查询语句中,使用NEAR(指示在其他单词旁边的近似的单词),数字操作符(<,=,>),逻辑操作符(AND,OR,NOT)。
遵守安全规则。用户只可以访问那些他们有权限访问的文档。
管理员工具。NT服务器的管理员工具和Microsoft Index Server是集成在一起的,这样你就可以监视运行了多少的查询,服务器的性能,等等。
Index Server是如何工作的
Index Server是如何工作的? 管理员功能可以配置那些可以被搜索的文档的范围。这些文件可以在一个子目录下,也可以分布在很多的网络目录下。这样的文件主体被成为一个全集。Index Server可以在这个全集下搜索文档,然后把文本内容从其中取出。例如,一个 Microsoft PowerPoint格式的内容会从其中过滤掉。这些被过滤的输出被送到一个被称为word breaker的软件。这是很多WEB搜索引擎的通用功能。这个输出也可以对noise words进行过滤,也就是那些没有什么意义的单词,例如:a, an, the, is ,等等。
基本查询特征
每一个查询包括三个要素:在哪里搜索,要搜索什么,和你要搜索那种信息。
一个query scope说明要搜索的文本的范围。一个IIS WEB站点和一个虚拟的根目录是相对应的,他也会一个物理存储空间对应,例如:一个目录或一个目录和驱动器的列表。 /Spreadsheets和/Documents是在服务器上的两个虚拟根目录的例子。
Index Server查询会他所查到的信息传输给客户端。例如, 一个200条的查询结果,你可以在用10个网页来显示,每一个网页显示20条记录。这个表格也可以允许客户说明每个屏幕要显示的记录的条数。
Index Server也可以建立文档的摘要,他也可以返回一个记录集。这个摘要是一个文档的简单总结,它可以告诉客户某一个文档的大概内容。你经常可以在Yahoo或其他的Internet搜索引擎的搜索结果上看到!
图4.6 查询结果的例子
索引过程
索引过程包括三个主要的步骤:过滤,单词分隔,和数据格式化。
当这个系统开始操作一个文档,他会在处理的过程中,确认这个文档的类型, 使用合适的过滤器。一个内容过滤器是一个能只知道读自己认识的内容的应用程序。他会把文本内容从文档中取出,然后把它们以系统能认识的格式传送给Index Server。
除了能取出文本块以外,内容过滤器的另一个很重要的功能就是认出在文档中的语言转换。有文档格式就指出了它所使用的特殊的文本块的格式。如果存在这些标识,内容过滤器会根据这些标识来正除了这些文本。例如,例如过滤器遇到了一个用法语写的段落,这一段文本会被用French来标识出来。Index Server会根据这些语言标识来调用合适的单词检查器,和格式化成正常的语言。
Index Server不但可以索引在Word中的文档,也可以处理那些嵌在Word文档中的Microsoft Execl页面。
因为有好几千种应用程序和它的数据格式,而且文档的格式改变得很频繁,但是,在开放的IFilter Interface标准中,微软已经把这些文件过滤器的编程接口标准化了。这些在Index Server和其他部分之间的标准接口说明了要如何使用内容过滤器。 微软也允许其他的公司编写他们的数据的内容过滤器。这也意味着,那些最熟悉这些数据格式的人来编写这种格式的内容过滤器。
在完成过滤操作以后,下一个重要的任务就是进行单词分隔。Index Server是对单词进行索引,而不是对字符进行索引,所以他必须能在一个字符串中认出这个单词。人们很容易在一个字符系列中查出这个单词,但是在这个任务对计算机来说是一种很难的工作。不同的语言处理单词和单词间的间隔的方式都不同。许多语言使用空格或点号来指示单词的分隔符。其他的语言,例如,日语不使用空格来作为单词的分隔。
Index Server提供了与一种语言有关的,能从一个字符流中取出有效的单词的单词分隔符。这些模块懂得一种特别的语言的结构和符号,他们可以把这些文本分析成独立的单词。Index Server提供了下列语言的单词分析器:英语,法语,德语,西班牙语,意大利语,和瑞典语。
内容过滤器和单词分析器都是标准的组件。独立软件商都使用开放的标准,建立他们自己的单词分析器,然后插入他们的系统。这使其他的软件商提供那些现在不被Index Server所支持的语言工具。
索引的最后一部分是文本格式化。文本格式化会把单词分析中出现的多于的部分删除。文本格式化也能为Index Server提供光滑的文本。
容错处理
容错对一个WEB站点来说是很重要的。如果系统在同时处理好几百个文档时,一个硬件出现了错误,他不需要被迫重新索引全部的文档。Index Server的设计中也包括了可恢复性。当系统在发生错误和进行过磁盘整理之后,重新启动时,Index Server会对所有的索引进行全面的检查,他和NT文件系统具有一样的可恢复性和日志特征。