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文件系统具有一样的可恢复性和日志特征。