和Windows XP相比,在Windows 7中,系统集成的搜索功能非常的强大,只要用户打开开始菜单并开始输入搜索内容,无论要查找应用程序、文本文档等,搜索功能都能自动运行,给用户的操作带来极大的便利。
但在乡间小路推惯独轮车,猛然开上了自动档上了Gxx高速,无论从哪方面来说都难以适应,驾驭方式、力的使用、视野目标、速度感已无法在一个数量级上比较。面对Windows7这样的搜索引擎,彻底迷茫了
在本论坛搜索关于Win7的搜索功能的帖子,表示无从下手的代表性帖子有:
1、 对WIN7搜索方式的一些置疑 http://bbs.pcbeta.com/viewthread.php?tid=466660&highlight=%CB%D1%CB%F7
【内容搜索】
2、W7 的搜索功能很郁闷 http://bbs.pcbeta.com/viewthread.php?tid=436080&highlight=%CB%D1%CB%F7
【即时搜索】
3、Win7的搜索……我真的不会用了…… http://bbs.pcbeta.com/viewthread.php?tid=398656&highlight=%CB%D1%CB%F7
【文件名搜索】
4、 关于windows“搜索”的困惑!!! http://bbs.pcbeta.com/viewthread.php?tid=364596&highlight=%CB%D1%CB%F7
【系统文件搜索】
5、 windows7 搜索筛选器就俩???谁能写个windows7搜索使用说明大全?
【搜索筛选参数】
6、同事都说windows7的搜索功能太烂了,抱怨声不断,烦死了 http://bbs.pcbeta.com/viewthread.php?tid=464654&highlight=%CD%AC%CA%C2
【习惯、文件管理思想】
二、“独上高楼,望尽天涯路”
文件系统在任何操作系统中几乎都处于中心地位。它是实现应用程序存储信息、检索信息以及与存储信息进行交互的核心代码。回首Windows发展之路,文件搜索一直是文件系统的一个极其重要的功能,搜索不到文件也即意味操作系统的失败,因为用户面对的就是这些文件和数据。DOS时代的DIR遍历(记忆犹新)、Find查找,95的CTRL+F,Longhorn中的WinFS的首度亮相后流产到 win7 的再度集成,WinFS甚至成为Vista饱受诟病的主要起因,在win7中,库正式被推到首位用户界面。微软作为一个桌面操作系统占有率第一的软件公司,如果说搜索越做越倒退,那简直就是天方夜谭。
无须为微软或win7辩护什么,我们要做的就是人家开发出来了,我们要会用它,置疑、困惑、抱怨、放弃都于事无补(问题还在于系统没问题那自己是不是有问题了?)
废话少说(没办法,论坛里喷家太多了,偶思维老往那儿转),还是说“ 搜索 ”。win7的搜索基本上沿用Vista的搜索(7和V是兄弟啊),所以会在Vista里搜索的,可以不看了(对不起浪费了您的时间)。
搜索的基础:
1、索引 ( 强烈建议:想要用win7搜索功能的大伙,请不要关闭Indexing Service索引服务 )
Win7搜索可以由用户自定义要建立索引的内容,包括基于哪个文件、哪个目录、哪个磁盘乃至哪种格式的文件。搜索是动态实时更新的,所以我们不用担心文件变动会造成搜索出错问题的发生。比如:用户把一个文件从C盘剪贴到D盘,索引就自动修改为指向D盘了,这一个过程并不需要用户知道。 搜索就是在索引目录的基础上实现的,win7会在平时(系统空闲)建立磁盘上所有文件和目录的索引关系,维护出一个索引表,当要查找信息时直接从索引中查询即可。这个索引就好比我们书本中的目录一样,可以直接根据自己要找的内容翻到对应的页面。 (原理如图1所示)。
(图1)
当然除了采用索引服务这个主要因素来提高搜索速度外,微软在Vista中引入了诸如虚拟文件夹、组合查询、保存搜索结果、分类搜索、可操性搜索等多个概念,在win7中增加了集大成者“库”。通过这些途径也可以提高搜索速度。
2、虚拟文件夹
虚拟文件夹(原理如图2所示) 的概念也在Vista搜索中第一次引入,它帮助我们可以将不同目录中具有相同特征的文件提取出来建立一个虚拟的并不真实存在的文件夹,方便我们查找和浏览。
(图2)
虚拟文件夹一经建立则会出现在Windows资源管理器以及Windows Media Player等多个可以查看硬盘上文件的程序中。从技术角度看虚拟文件夹实际上是搜索索引的一种变化和延伸,它将索引目录虚拟化,让用户可以以虚拟文件夹的形式看到这些索引目录的存在。在实际使用中它可以帮助用户有规律地快速浏览自己需要的信息。
3.组合查询
组合查询(Query Composition)技术也头一次在Vista中明朗化。所谓组合查询就是在针对某个搜索条件的搜索结果的基础上,通过对搜索条件作进一步的限定来实现。这样,搜索的范围大大缩小,效率与速度在很大程度上得到了保证。直白地说,这种方式就类似于常见的“在结果中查找”,它帮助用户步步为营逐步找到自己所需要的信息。最终组合查询帮助我们实现了由粗到细、由模糊到精确的查询过程。
(图3)
4.保存搜索结果
很多用户都会经常在系统中查找同一类内容,因此在Vista搜索中还引入了保存结果的功能,我们可以把搜索结果保存为一个特殊的搜索文件夹,与普通的文件夹相比,搜索结果文件夹默认设置为隐藏格式,但其内容是动态的,即其中所含的文件和文件夹将会随着文件系统的变化而自动添加或删除,以实时匹配搜索项。保存搜索结果技术的精华就在于所保存的结果不是不变的,而是随着系统的运行文件路径的变更而实时变化的,这样可以更加准确快速地呈现搜索结果。
(图4)
5.分类搜索
为了加快搜索的速度,微软对搜索采用了一种名为分类搜索的概念。所谓分类搜索就是指根据用户当前的操作进行搜索,例如当用户打开控制面板后通过搜索功能搜索时,它将只针对控制面板中的相关选项图标和内容进行查找;另外当用户打开Windows Media Player来收听歌曲时使用搜索的话,系统将只针对.mp3、.wav等音频格式的文件进行查找。说白了,你使用哪个程序中的搜索功能,就将针对哪个程序能够打开的文件或者哪个程序中的选项进行查找。另外这种分类搜索还有一个好处,就是可以让软件制造商轻松利用搜索功能,将搜索模块添加到第三方软件中。
(图5)
5.可操性搜索
在win7系统中搜索的可操作性是令人倍感亲切的,我们几乎可以在系统的任何一个角落发现搜索的身影。不管是开始菜单还是控制面板,不论从资源管理器还是从IE 7浏览器,甚至从Windows照片库以及Windows Media Player中,都可以直接调用搜索功能。这种搜索遍布系统的布局,让用户可以在想查找信息时马上搜索,变相提高了搜索速度,也让用户更加容易上手,不用频繁返回桌面调用搜索菜单了。
6、充分学习了网络搜索技术
实际上本地搜索和网络搜索在查询信息原理上是类似的,搜索引擎在工作原理上主要分为纯技术型的 全文检索搜索和分类目录搜索,前者是通过程序到各个地方收集信息,建立索引数据库,在搜索结果上它是以速度取胜的,但结果信息并不是实时内容,都是在此前一段时间内收集来的。而后者分类目录搜索则是通过人工提交的关键词和人工审核相应信息建立起来的,这种搜索是以真实取胜的,它的结果都非常准确。
从构成原理上看,win7本地搜索更像是两者的结合,一方面通过搜索程序到硬盘各个扇区和磁盘各个目录去搜索内容,建立索引数据库;另一方面通过文件内容中的关键词建立一种遍历数据库。两种数据库一起工作才使得我们可以既快速又准确地找到所需内容。
同时搜索多个指定目录下文档的要求并不少见,强悍的LOCATE32就是其中的佼佼者,而且支持预定义的各种模板,使用起来还很方便。
仅仅只在指定的几个目录,文件又不太多的情况下非得搬出它来,实在也有点大材小用。而且它的数据库维护太不具有智能性,用起来有时候很让人抓狂。比如要找WORD文档及相关图片时,要找以下文件:
*.doc;*.docx;*.png
但它们分布在多个目录,如:e:\src\;e:\doc
要知道在e:\目录下,还有其它的许多目录,所以我们不可能直接搜索整个E盘,在正常情况下看看WIN7如何实现。
WIN7利用库完成多目录多类别的搜索
WIN7如果没有库,那么这个功能似乎很难实现,首先我们建立一个库名为“DOC”(如图001):
①处所示,包含了我们指定的目录;
②处的搜索选项中,打开“使用自然语言搜索”;
③处输入类似于自然语言的格式,中间用“or”来进行连接,表示“或”的条件。
这样就可以得到所需要的搜索结果了,几个类别在多个目录中都存在。如果想再次使用,只要选“文件”菜单中“保存搜索”,下次再使用时只要打开相应的搜索结果即可。
虽然下次再次使用时也不麻烦了,但是可以看出整个过程还是相当麻烦,如果再做一个方案,如在d:\src和d:\doc下查找bmp和jpg这样的图片文件,要做同样的步骤,很容易让人抓狂。下面我们看看XP下是如何实现的:
XP下输入后即可搜索
按下WIN+F进入搜索功能后(高级模式),在查找的文件名中输入多类别,并且“在这里寻找”中输入以分号分隔的多个目录(如图003):
不过,如果要复用,还是比较麻烦,因为XP后期的SP3版下,如果打开“保存搜索”的文件,会出现这样的情况(如图004):
即路径会变成“本地硬盘”的所有盘,所以我们要借用兢果果搜索助理,它利用系统的自动按键功能,完成我们所需要的多重目录和多重文件类别的搜索功能。
专用搜索文件和相应的程序
从http://files.cnblogs.com/hzspa/jfind.rar下载此工具并解压到指定目录双击后即完成注册,然后建立一个名为doc.jgg,里面只要有两行内容:
*.doc;*.docx;*.png
e:\src;e:\doc
注意多个条件或者是多个目录使用分号分隔,是XP查找功能中的分隔符(Locate32也是这样使用)。下面就是使用搜索助理双击doc.jgg之后的效果(如图005所示):
这个只是我们在XP下的搜索效果,它满足建立一个预选的方案,得到指定的多重目录和多类别文件的结果,而且还很方便。那么,它是否能够开启通往WIN7之路呢?
WIN7下的多重目录与文件搜索也易如反掌
同样的程序如果要在WIN7注册,尽量选“右键菜单”中的“以管理员身份运行”。然后我们再双击DOC.JGG之后,我们神奇地发现,在WIN7下也完成了多重目录下多类别文件的搜索(如图006):
结合设定方案完成我们目标,这样在发布程序,要从多个目录中查找一些指定的程序并把它复制到同一目录时非常有效。并且实现了XP和WIN7的双“丰收”。
本文发表于《家用电脑》2010年12期
2010年03月22日完稿于浙江杭州
HOWTO:在 Windows 7 中同时执行不同类型文件和内容的搜索
正如微软官方网站 – Windows 搜索 所介绍的那样,在 Windows 7 中,搜索功能非常强大,并且易用。因为在 Windows 7 中搜索无处不在,并与微软其他应用程序或服务紧密集成,如:Office Outlook、便签、Bing 以及其它 API 接口实现的搜索。
我们可以在开始菜单中的搜索框中查找我们想要的内容,也可以通过打开的文件夹右上方的搜索框进行相关内容的查找。
细心的朋友肯定能发现,在上面的文件夹搜索截图中,我在搜索栏中键入的是“test or 2”,而搜索结果会显示当前目录包含 “test”和“2”的文件名或内容的文件。
在系统默认设置下,上述的搜索并不能完全被正常执行,因为搜索时如果涉及内容搜索,那么只有在包含索引中的目录才会执行内容搜索,而并行的条件搜索必须要启用“使用自然语言搜索”才行。为此,我们仅需要执行如下的操作即可实现我们前面的搜索需求。
首先,打开“控制面板”,找到“文件夹选项”,打开“文件夹选项”后,切换到“搜索”选项卡,将“搜索内容”下的设置改选为“始终搜索文件名和内容(此过程可能需要几分钟)”;然后,复选“搜索方式”下的“使用自然语言搜索”;最后确定退出。可参考下面的截图:
这样设置之后,我们便可以在任何位置同时执行不同类型文件和内容的搜索了。