在Windows 7中推出了一个叫作Search Federation(联合搜索)的搜索功能,该功能可以看做是对Windows Vista中颇受赞誉的智能搜索的一个扩展和强化。本文将对Windows 7的这一新功能进行一个解读,希望对大家理解和使用它,提升数据管理效率有所帮助。
1、为什么要推出Search Federation?
集成Search Federation功能无疑提升了Windows 7的搜索能力,但不仅仅如此,对于微软强化系统搜索功能的初衷,我们比较感兴趣。大家知道,在企业环境中数据不可能存放在一个地方,往往存放于不同的PC,不同的服务器,不同的移动存储设备中等等。所以,要访问和检索这些数据将变得非常麻烦。Search Federation就是基于这样的考虑,而集成于Windows 7中,同时我们也可以将其看做是Windows 7在面向企业用户方面所做的改进。利用Search Federation技术,本地用户并不需要部署第三方工具就能够在局域网的其他pc中找到所需的数据文件。
我们知道,在Windows 7中可以通过“库”来方便地管理文件、检索文件,只不过在此前需要管理员将文件的路径添加到库中。而Search Federation并不依赖于“库”,它可以检索到“库”以外的文件。
2、联合搜索是如何工作的?
说到联合搜索,就不得不提到搜索连接器。搜索连接器其实就是一个XML的脚本文件,该脚本中定义了所要进行搜索的目标站点等信息。在Windows 7中添加搜索连接器后,当用户使用该搜索连接器进行搜索时,Windows 7就想目标站点发送HTTP请求搜索的条件,然后服务就会返回RSS的结果在客户端显示出来。其大致的流程如图所示。(图1)
联合搜索
3、联合搜索的优势是什么?
联合搜索在很大程度上解放了用户,用户并不需要知道目标地址的相应的信息,将这一切交给系统让其完成搜索任务。此外,联合搜索提供了丰富的用户体验:通过浏览器或者Windows 7的资源管理器,用户可以实现数据的预览、略缩图,了解元数据信息,并能实现数据的拖放,数据检索时的高亮显示。另外,其安全性也很高,并不会对源数据造成损伤,其验证方式由Windows集成。当然,它也不会增加客户端的负担,因为搜索是在服务器上进行的,在客户端上不会执行代码,也不会非常明显地增加客户端的网络流量,因为它是以轻量的流量方式进行的。还有一点,在Windows 7中联合搜索的结果是以XML格式返回的。我们可以进行属性的映射、略缩图显示和网址预览等等。
4、使用OpenSearch进行联合搜索
OpenSearch是Windwos 7联合搜索的一种方式,正如其名称所表达的这时一种开放的搜索方式。这大大方便了我们的数据搜索,搜索时,我们搜索数据,而不用管目标数据在何处。同时,它也能够很好地保证远程数据源的安全性。
(1).在IE 8中使用OpenSearch
我们以Widnows 7中集成的IE 8浏览器为例。运行IE 8,可以在窗口的右上角看到一个搜索框,其实它用到的搜索方式就是OpenSearch的联合搜索方式。OpenSearch是搜索连接器息息相关,OpenSearch搜索就是通过搜索连接器来具体实施的。大家可以看到,IE 8默认使用的是Live Search搜索连接器,当然我们也可以添加其他搜索连接器。至于搜索连接器,我们可以通过自定义的方式去手动添加和编辑。除了可以添加现成的搜索连接器,我们也可以根据需要创建搜索连接器,甚至可以将自己的站点添加到搜索连接器中,以实现对站点内容的检索。
下面我们实例操作,看看如何创建或者添加一个搜索连接器。运行IE 8,在窗口的右上角可以看到一个搜索框,其默认的搜索连接器就是Live Search。点击搜索框右侧的下拉箭头可看到此前添加的搜索连接器,另外还有3个操作项。笔者此前曾经添加过一个新浪的“天气查询”,如果要添加新的搜索连接器,点击“查找更多提供程序”项,会进入微软提供的一个“可视化搜索”的网页。在该网页中,列出了非常多的搜索连接器工具。在网页的左侧有各种搜索器分类,大家可展开某类找到自己需要的搜索连接器。(图2)
IE8
比如,我们添加一个新浪的“股票搜索”,点击其下面的“添加到Internet Explorer”按钮,然后弹出对话框询问你是否要添加,点击“添加”后则该搜索工具就添加到IE 8的搜索连接列表中。在列表中点击刚才添加的“股票搜索”工具,则其成为搜索框的当前搜索工具。在搜索框中输入你所关心的股票名称或者代码,就会在搜索框下看到该股票的走势等信息。同样的,点击搜索列表中的“天气查询”工具,在搜索框中输入要查询的城市的名称就会看到该城市的天气信息。当然对于某些网站它们开发了自己是搜索工具,我们都可以将其添加进来,一说实现信息的快速检索。以上就是使用OpenSearch进行联合搜索的一个例子,利用这种搜索方式,我们完全不用关心数据在什么地方,可以平滑发现。(图3)
(2).自定义的OpenSearch
除了可以在通过IE 8以及相关现成的搜索连接器检索Internet中的信息外,我们还可以手动添加相应的搜索连接器实现对局域网中数据的快速检索。对于公司的IT人员来说,根据需要将数据文件以搜索连接器的方式进行检索或者共享是非常可行和节约成本的一种方式。
OpenSearch窗口概览
如图所示,这是以Windows 7的OpenSearch方式检索和共享数据的一个截图。这是Windows 7的资源管理器窗口,窗口被分成3部分。在左侧导航区中管理器创建了不少搜索连接器,这些连接器囊括了企业数据可被检索和访问的所有索引。当我们点击左窗格中的某个搜索连接器后,就会在中间的窗格中列出该索引所对应的数据文件的列表。如果某个搜索连接器检索到的文件数据比较多,我们可在右上角的搜索框中输入关键词进行进一步的检索。这样会在中间窗格中,除了显示文件的名称外,还会以高亮显示关键词。最左侧是预览窗格,点击中间窗格中的对应文件,在右侧就会以预览的方式显示出来,以确保我们找到自己所需要的文件。此外,在Windows 7的资源管理器的最下面是细节窗格,当在中间的创建中点选某数据文件后就会在此我们可以查看数据的大小、创建时间等元数据信息。(图4)
手动添加现成的搜索连接器
下面我们做一个演示,看看如何手动添加一个搜索连接器。搜索连接器,大家可以去相应的网站下载或者自己手动编辑。笔者下载一个flick的是搜索连接器,其文件是flickr.osdx。打开Windows 7的资源管理器,笔者已经添加了3个搜索连接器WotNews、MSDN、Channel 9,现在我们就将bing的搜索连接器添加进来。双击bing.osdx文件,弹出对话询问是否添加,我们点击“add”,可以看到Bing Serach已经添加进来了。我们点击该搜索连接器,然后在搜索框中输入Windows 7,可以看到系统访问bing的网站,然后搜索与Windows 7相关的内容并在右侧窗格中显示出来。点击窗口上部的“预览”按钮窗口自动分成3部分,点击中间窗格中的某一内容就会在右侧显示预览。(图5)
搜索连接器
编辑搜索连接器
很明显,现成的搜索连接器并不能满足我们的需要,通常情况下管理员需要手动去编辑自己需要的搜索连接器。其实,搜索连接器文件打开后就是一个XML语言的脚本,如果要纯手动编写代码对于不少管理员来说是有难度的。不过,我们可以采取一个取巧的方法,就是通过修改搜索连接器模板以创建自己需要的连接器。如图所示就是一个搜索连接器的目标文件的截图,我们只需替换图中红色的部分即可。
其中<ShortName>Sevenforums</ShortName>标签是设置连接器的名称,我们只需将Sevenforums更改为自己需要的名称即可。<Description></Description>标签中是设置连接器的描述,大家可以自己依据实际情况去填写。template后面是设置要搜索的网站的URL地址,大家只需将其更改为目标网站的URL地址即可。当然,对于企业用户来说,也可以将其更改为启用内部Web的URL地址。通过对图中4部分红色的修改,我们就完成了一个搜索连接器的文件代码的创建。接下来我们可将该文件保存为一个osdx格式的文件,最后按照上面添加搜索连接器的添加方法直接双击该文件即可。当然,通过这种方式创建的搜索连接器有可能会存在一定的问题,需要大家进行相应的调试。不过,建议大家还是下载比较专业的网站为其量身定做的搜索连接器。(图6)
5、发布搜索连接器
在Windows 7中,我们创建的搜索连接器一般都是保存在“C:users用户名Searches”即用户的“搜索”文件夹下。对于创建的搜索连接器我们可以将其进行发布,搜索连接器的发布有两层含义。其一是,将其发布到系统的其它位置使它无处不在,这样方便我们调用。例如,当我们执行“开始”→“搜索”在搜索框中输入搜索关键词后会在上面显示该搜索连接器以方便我们选择。除了这个位置之外,当我们在Windows 7的资源管理器的搜索框中输入关键词进行搜索,当搜索完毕后会在窗口下面列出所有的搜索连接器可供用户选择使用哪个搜索连接器进行搜索。默认情况下它是以本机的“计算机”为目标进行搜索,当我们点击其他的连接器比如MSDN这个连接器后,就会从MSDN的网站中进行检索。其二是,在域环境中通过组策略将其集中发布到域内的其他客户端中,实现搜索连接器的域内共享。本文只说说搜索连接器在本机的发布,其实在AD中的发布其组策略配置是一样的。
搜索连接器在系统中的发布,我们可以通过添加相应的注册表项来完成,当然最简单的方式是通过组策略来完成。执行“开始”→“运行”,输入gpedit.msc打开组策略编辑器,依次展开“用户配置”→“管理模板”→“Windows 组件”→“Windows资源管理器”,在右侧找到并打开“Pin Librahim or Search Connectors to the ‘Search again’links and the Shart menu”组策略项。首先选择“启用”该策略,然后在“选项”下面可以添加相应的搜索连接器进行发布,在此最多只能发布5个搜索连接器。将C:users用户名Searches”目录中对应的搜索连接器的完整路径复制到文本框中,例如“C:usersAdministratorSearchesMSDN.searchConnector-ms”,按照同样的方法将其它的搜索连接器进行发布,这样搜索连接器就会出现在上面所示的位置中。(图7)
发布连接器
总结:上面关于Windows 7的Search Federation(联合搜索)功能的解读和使用范例,主要是基于个人用户的,其实在域环境中其联合搜索更显示了它的灵活和强大。相信随着Windows 7正式版的发布,以及其在企业环境中的部署,联合搜索功能将会在数据文件的检索和搜索方面极大地解放IT人员。