微软的索引服务为整个文件系统或者Web文件提供了强大的全文索引服务。在索引服务里查询数据是简单明了的,它还为建筑一个更加稳健的Web网站打了基础。你可以使用索引服务查询语言(Index
Service Query Language)或者SQL来对索引服务进行检索,这两者都能返回ADO记录集。
内置的检索对象(Query object)能很容易地把令人印象深刻的搜索特性加到Web网站里。我们就来看看如何使用索引服务查询语言和索引服务检索对象。
索引服务的检索对象为检索索引目录并返回ADO记录集提供了接口。检索对象包含几种属性,用于控制检索的各个方面以及如何让数据返回。首先,你必须像这样在ASP页面里把检索对象实例化:
<% set objQuery = Server.CreateObject(“ixsso.Query”) %>
这个对象有好几个属性可以被用来调整你的查询。在以下的部分里,我会讨论到每一个属性并讲解如何设置它们。
目录属性定义的是要在检索中使用哪个索引目录。索引服务可以被配置为在单个服务器上拥有多个目录。例如,一台服务器可以拥有一个只位于INETPUB路径(directory)下的Web数据目录,同时还可以拥有另一个整个系统的目录。检索对象的缺省目录是系统目录,除非这台计算机上还安装有IIS(Internet信息服务)。如果安装了IIS,那么缺省的就是Web目录了。
除了可以检索本地目录之外,你还可以检索远程服务器的目录。检索远程目录的句法是: query://hostname/catalog。下面的是设置目录属性的一些例子:
‘Query the Web catalog on the local system objQuery.Catalog = “web” ‘Query the System catalog on the local system objQuery.Catalog = “system” ‘Query the Web catalog on the computer www.somehost.com objQuery.Catalog = “query://www.somehost.com/web”