常见问题:Windows Vista 搜索原理

[复制链接]

该用户从未签到

18

主题

7

回帖

96

积分

[INTOHARD]班长

Rank: 2

积分
96
发表于 2007-8-30 22:15:37 | 显示全部楼层 |阅读模式


  
Vista搜索的前世今生


  
   在 Vista 系统发布之前 Windows 自身的搜索功能操作起来不方便,而且搜索速度和搜索的信息种类都不能满足用户需求。


  
   微软公司于2003年推出了基于 WinFS(Windows File Search) 的 Windows Desktop Search 工具。Windows Desktop Search 是取代了 WinXP 基于开始菜单的搜索工具,提供了更多的功能和方便的基于任务栏的搜索。这个 WDS 也被称为 Vista搜索 的雏形,但它没有内置于 Windows 2003和 WindowsXP 中,只是以一种工具的形式发布。


  
   随着 Vista 的发布,微软将改进型 Windows Desktop Search 内置到了 Vista系统 中,从而彻底替代了传统的搜索功能。至此 Vista系统 搜索正式改头换面,从幕后走向台前的 Vista搜索 在速度、功能和易用性上均有大幅提升。


  



  
闪电般的搜索速度


  
   使用过 WinXP 的用户都会知道要在一个 80GB 的硬盘上搜索文件,恐怕需要几分钟甚至更长时间才能找到结果。不过 Vista 搜索巧妙地解决了此类搜索缓慢的问题,输入搜索关键字,点击“搜索”按钮,立即可以显示出搜索结果,真正实现了“所搜即所得”的快速搜索目的。


  
   另外在Vista系统中使用搜索功能是非常简单的,不用在“开始”菜单中寻找专门的搜索项,打开“开始”菜单后就能够直接看到搜索关键字输入栏的存在。


  



  
索引的威力


  
   那么为什么 Vista 系统中的搜索速度如此迅捷呢?最主要的原因就是它使用了和 google desktop search 提高搜索速度一样原理的技术,被称为 Indexing Service 的索引服务,不过 Vista搜索 可以由用户自定义要建立索引的内容,包括基于哪个文件、哪个目录、哪个磁盘乃至哪种格式的文件。Vista搜索 是动态实时更新的,所以我们不用担心文件变动会造成搜索出错问题的发生。比如:用户把一个文件从C盘剪贴到D盘,索引就自动修改为指向D盘了,这一个过程并不需要用户知道。


  
    使用过其他本地搜索工具的用户都会知道,在搜索之前都需要花费几个小时的时间来建立索引关系。Vista 系统也是基于此原理的,不过由于索引与系统兼容性和整合性非常好,所以索引建立过程并不会给人一种严重拖慢系统运行速度的感觉。


  
说白了,闪电搜索是在索引目录的基础上实现的,Vista 系统会在平时建立磁盘上所有文件和目录的索引关系,维护出一个索引表,当要查找信息时直接从索引中查询即可。这个索引就好比我们书本中的目录一样,可以直接根据自己要找的内容翻到对应的页面(原理如图所示)。


  



  



  
当然除了采用索引服务这个主要因素来提高搜索速度外,微软在 Vista 中引入了诸如虚拟文件夹、组合查询、保存搜索结果、分类搜索 、可操性搜索等多个概念,通过这些途径也可以提高搜索速度。


  
1、虚拟文件夹


  
  虚拟文件夹的概念也在Vista搜索中第一次引入,它帮助我们可以将不同目录中具有相同特征的文件提取出来建立一个虚拟的并不真实存在的文件夹,方便我们查找和浏览。


  
  虚拟文件夹一经建立则会出现在Windows资源管理器以及Windows Media Player等多个可以查看硬盘上文件的程序中。从技术角度看虚拟文件夹实际上是搜索索引的一种变化和延伸,它将索引目录虚拟化,让用户可以以虚拟文件夹的形式看到这些索引目录的存在。在实际使用中它可以帮助用户有规律地快速浏览自己需要的信息。


  



  
2、组合查询


  
  组合查询(Query Composition)技术也头一次在Vista中明朗化。所谓组合查询就是在针对某个搜索条件的搜索结果的基础上,通过对搜索条件作进一步的限定来实现。这样,搜索的范围大大缩小,效率与速度在很大程度上得到了保证。直白地说,这种方式就类似于常见的“在结果中查找”,它帮助用户步步为营逐步找到自己所需要的信息。最终组合查询帮助我们实现了由粗到细、由模糊到精确的查询过程。


  



  
3、保存搜索结果


  
  很多用户都会经常在系统中查找同一类内容,因此在Vista搜索中还引入了保存结果的功能,我们可以把搜索结果保存为一个特殊的搜索文件夹,与普通的文件夹相比,搜索结果文件夹默认设置为隐藏格式,但其内容是动态的,即其中所含的文件和文件夹将会随着文件系统的变化而自动添加或删除,以实时匹配搜索项。保存搜索结果技术的精华就在于所保存的结果不是不变的,而是随着系统的运行文件路径的变更而实时变化的,这样可以更加准确快速地呈现搜索结果。


  



  
4、分类搜索


  
  为了加快搜索的速度,微软对搜索采用了一种名为分类搜索的概念。所谓分类搜索就是指根据用户当前的操作进行搜索,例如当用户打开控制面板后通过搜索功能搜索时,它将只针对控制面板中的相关选项图标和内容进行查找;另外当用户打开Windows Media Player播放器来收听歌曲时使用搜索的话,系统将只针对.mp3、.wav等音频格式的文件进行查找。说白了,你使用哪个程序中的搜索功能,就将针对哪个程序能够打开的文件或者哪个程序中的选项进行查找。另外这种分类搜索还有一个好处,就是可以让软件制造商轻松利用搜索功能,将搜索模块添加到第三方软件中。


  
通过这种分类搜索,实际上是把搜索功能划分成多个小搜索功能,在不同工具中对不同内容进行搜索,一方面可以针对用户的操作喜好进行遍历和查找;另一方面由于减少了搜索内容的数量,从而大大提高了搜索速度。


  
另外,在Vista系统中搜索的可操作性是令人倍感亲切的,我们几乎可以在系统的任何一个角落发现搜索的身影。不管是开始菜单还是控制面板,不论从资源管理器还是从IE 7浏览器,甚至从 Windows照片库 以及 Windows Media Player 中,都可以直接调用搜索功能。这种搜索遍布系统的布局,让用户可以在想查找信息时马上搜索,变相提高了搜索速度,也让用户更加容易上手,不用频繁返回桌面调用搜索菜单了。


  
实际上本地搜索和网络搜索在查询信息原理上是类似的,搜索引擎在工作原理上主要分为纯技术型的全文检索搜索和分类目录搜索,前者是通过程序到各个地方收集信息,建立索引数据库,在搜索结果上它是以速度取胜的,但结果信息并不是实时内容,都是在此前一段时间内收集来的。而后者分类目录搜索则是通过人工提交的关键词和人工审核相应信息建立起来的,这种搜索是以真实取胜的,它的结果都非常准确。


  
从构成原理上看,Vista 本地搜索更像是两者的结合,一方面通过搜索程序到硬盘各个扇区和磁盘各个目录去搜索内容,建立索引数据库;另一方面通过文件内容中的关键词建立一种遍历数据库。两种数据库一起工作才使得我们可以既快速又准确地找到所需内容。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表