首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
zjzcl (28)
iiprogram (104)
whoopee (61)
lzmtw (32)
longrujun (79)
daisylh (21)
yjz0065 (122)
superyan (28)
cyz1980 (103)
sharpdew (1)
CSDN - 文档中心 - 其他 阅读:248   评论: 0    参与评论
标题   Google desktop search 应用与开发介绍     选择自 risker 的 Blog
关键字   Google desktop search 应用与开发介绍
出处  

     首先我觉得应该先谈谈这个Gds的发展过程.目前GDS 已经发展到2.0 beta版本.在google的论坛上,GDS 的 sdk开发已经有一年左右时间了.但直到现在,开发项目基本上只基于国外.目前国内基本上没有什么相关项目对GDS的应用进行开发.对于这点我一直很困惑.难道是国内开发者认为这个东西真的不成?

     我今天又在网上搜索了一下,中文介绍非常少.基本全是动嘴不动手,所以也懒得再做太多介绍.只有一个 http://computer.mblogger.cn/twinsant124/posts/18266.aspx 这里.这位看来是曾经做过一些研究的. 我相信,实际做过GDS API 研究的国人一定不少,只是到底有几个人愿意把自己的研究结果公布出来.其实只要动手写写,应该问题不大. 我是从2005年初开始考虑使用gds来做开发的,目的是对文件内容进行搜索.之前曾打算用 Lucene 来实现这个功能.最后得出结论是,能用,不过并不怎么好用.一个是中文分词的问题,这个问题根据网上的资料是可以解决的,不过实现起来比较复杂.但最大问题是,在文件抽词的时候效率实在他哪个慢了.如果是一个3-4 M的PDF ,我基本要去喝杯水才能抽出来.或许有牛人说这个问题是可以解决,当然我相信问题总有办法解决.但我做的是一个完整项目,不是研究怎么提高抽词的效率.在我看来这个东西得不偿失.所以最后考虑使用GDS来实现这些功能.使用GDS 给我最大感觉就是快.而且内容相对比较可靠.毕竟如果你连google的查询都不相信,那么最好就自己写一个厉害的搜索引擎好了.

    既然选定了工具,就要考虑怎么开发的问题.问题主要在于gds 本身是个桌面应用,并不支持网络搜索,至少当初不支持.现在 2.0 beta已经支持网络路径搜索了,不过说实话没具体实验过. 另外一个就是他不支持远程调用. 主要问题就在这2点上,其他都是小菜. 只要实现这2点,利用GDS 可以实现对公司内部现有文件服务器资源的一个分布式搜索,同时可以远程调用.说白了就是可以远程查询,返回结果. 同时利用GDS 自己的索引机制可以实现文件上载后索引的自动更新,基本上可以不需要考虑什么抽词和切分词的问题.只要你会存,那么查询就可以实现.我的目的就是要达到这个效果,何必研究那么多分词抽词的技术.我又不是神.  至于具体是怎么开发的,这个以后再写,不过可以说,使用GDS API的调用,可以非常容易在windows资源上的文件查询.当然如果你硬说你把东西放在linux上,哪我没办法.我的目的是解决现有问题.如果我有很多钱,呵呵.哪我不如去买个ibm的内容搜索套件好了.哪个啥都支持,问题哪个需要钱.  目前看,这个应用比较理想,第一速度至少目前没什么问题.另外就是查询结果,这个是比较满意的.当然gds不是对全文进行检索的,只是对文件前面的一定部分进行抽词检索.不过我个人认为这个足够了.我只想查个大概的东西,要不叫什么模糊搜索呢.我个人观点,够用就好.

    在使用GDS 过程中发现了一些问题,主要是一下几点.

      第一 由于我们是使用java 进行调用和存取的,发现在gds 1.0以前,使用 gds 新建立索引很不稳定. 一直找不出到底为什么,只能说这个的确是gds的一些问题,因为在 google 开发论坛上发现很多开发者都提出了这个问题.好象在某种情况下索引建立不能做完,另外一个发现的问题是 利用java 的命令进行存放文件的时候会出现不能建立索引的问题. 这个问题一直困惑我们.不过从 http://computer.mblogger.cn/twinsant124/posts/18266.aspx  蚂蚁的分析看,我觉得可能就是他所说的 Windows SPI 的问题,不过说实话这方面我一窍不通.所以也不能学哈姆雷特念念Choose or Choose .不过我运气不错,而且坚信google是会改进的.最近我们已经把应用更新到 gds2.0 beta上,就想我假设的明天会更好.哈哈,这个问题在新版本上已经不存在了。

     第二个问题是删除文件的时候索引更新的问题,目前这个问题我们暂时还没有解决.主要是目前还没打算去研究这个问题,好象目前gds sdk的schema上没有删除的动作,也可能我看的还不够仔细.反正目前如果你从服务器上删除一个文件,那么更新索引就是个问题了.不过我想因该是可以的,因为在gds 自己的ui界面上绝对是能删除项目的. 所以我觉得应该是我看的还不够仔细.

    第三个问题就是 sdk的版本问题,目前 gds 只推出1.0的 sdk, 2.0 beta的schema还没有推出.根据我们的测试,调用部分是没有什么变化的,但返回的结果部分非常不幸有变化. 至于有多大变化, diy 自己试试就知道了.

    在google 的自己开发网站上 code.google.com  有很多关于gds的插件和开发实例.实际上目前gds的开发已经有很大的规模,不知道什么时候国内有厂商或者个人能推出一个象样的插件.由于我只关注公司内部应用,而我们也不是什么软件开发商,暂时是不会有这个打算的.希望有哪个高人能推出点东西,让老外也眼睛亮一下.


相关文章
对该文的评论