上周五蚂蚁下载了Google桌面搜索,研究了整个的软件界面、功能和相关链接及其帮助,现根据使用结果及其技术经验总结如下:
Q1:Why should i choose the GDS instead of Windows Building Search or Windows Indexing Service?
A1:当然,这个不算是技术问题,不过它根源于技术的实现。蚂蚁在很久前就期望有这么一款软件,曾经研究过Windows的索引服务、相当多的共享搜索软件,不过一个满意的工具都没有找到:(,因为它们都不能满足蚂蚁的基本需求:
- 在本地计算机上快速有效地搜索到含有特定关键词的文件
没有良好组织结构的文件系统(你难道会很详细地组织分类你的各类文件吗?蚂蚁倒是没有时间和耐心:(),而且使用者记忆力不好(蚂蚁:呜……),要满足上面的要求蚂蚁目前唯一的推荐就是使用GDS。
Q2:What difference are there between GDS and grep(Clone)software?
A2:蚂蚁喜欢把grep类似软件称作实时搜索,它们不作索引和缓冲,所以只适用于搜索范围相对小并且目标明确的文件。事实上,如果你知道你所查找的文件的位置和集合,蚂蚁推荐使用该类软件(包括Windows的内建搜索)来完成你的任务。
Q3:The metaphor of GDS runtime?
A3:GDS是一个普通的widows软件,它的安装目录结构如下
C:%Install Dir%
│ GoogleDesktop.exe
│ GoogleDesktopAPI2.dll
│ GoogleDesktopCrawl.exe
│ GoogleDesktopIE.dll
│ GoogleDesktopIndex.exe
│ GoogleDesktopNetwork1.dll
│ GoogleDesktopNetwork2.dll
│ GoogleDesktopOE.exe
│ GoogleDesktopOffice.dll
│ GoogleDesktopSearchSetup.exe
│ gzlib.dll
│ uninstall.ico
│
├─docs
│ privacy.html
│
└─temp
运行时GoogleDesktop.exe作为父进程启动Crawler(GoogleDesktopCrawl.exe)、Indexer(GoogleDesktopIndex.exe)和UI Server(GoogleDesktopOE.exe-蚂蚁不太确定这个),这样的运行时结构符合信息搜索系统的基本模型。
另一个需要注意的是GDS没有使用Windows服务,这意味着你只有用某个用户登陆后才能让索引器在后台工作。
最后稍微注意一下GoogleDesktopOffice.dll、GoogleDesktopIE.dll,蚂蚁估计前者是提供访问Office相关文档的服务,后者是IE的扩展插件。
Q4:Where the GDS store its database?
A4:GDS为安装它的用户创建数据库目录的位置在%CurrentUser%\Local Settings\Application Data\Google\Google Desktop Search,你可以通过修改注册表HKEY_CURRENT_USER\Software\Google\Google Desktop下的data_dir键值来移动你的搜索数据库存储位置。当然蚂蚁不喜欢这样的黑客手段,所以已经提交了增加该选项的feedback,希望GDS开发组能在后续的版本中提供该项功能。
Q5:How the GDS implement the Server?(More difficulty in tech)
A5:GDS使用Windows SPI技术来实现UI server的接口,这样的好处是首先它保证了Google搜索服务在界面上的一致性,而且不必实现一个本地的HTTP服务器,在某种意义上减少了配置工作的工作量,方便了用户。坏处是由于Windows Winsock2 SPI本身的缺陷,保证GDS与其他LSP程序互相兼容就成为一个令人头痛的问题(蚂蚁:呜……,我可是深有体会啊),所以当面临冲突时,你就得学学哈姆雷特念念Choose or Choose Not……蚂蚁反正是坚决卸载掉了与之冲突的ISA 客户端,嘿嘿。
More thinking
GDS目前只是Beta阶段,不过蚂蚁对Google充分信任,这样一个严谨的有着丰富想象力和行动力并且尊重用户的公司团队最终决不会辜负我们的期望。
唯一需要注意的是GDS有一个运行环境的假设:即本地计算机是足够安全的,因为Google搜索的强大,你有理由担心你的隐私被不慎泄露。
不仅满足Use Case,还要满足Anti-Use Case,仅仅作个假设,实际上放弃了相当一部分有这种担忧的用户。当然,蚂蚁仔细想了想,满足后者真的很复杂,呵。