查看文章 |
关于搜索引擎学习,关于Lucene和TSE
2008-09-06 22:05
国内对搜索引擎有所了解的人,应该对这两个开源软件不陌生:Lucene和TSE。 当然,从技术角度讲,二者不是一个档次的,但对我来说,确是一样的重要。 Lucene的大名,相信你一定听过。严格来说,Lucene不能算作一个搜索引擎,本质来说,它是一个信息检索系统,更准确的来,是一个信息检索框架。基于Lucene的Nutch才是一个完整的搜索引擎,不过它可没有Lucene这么出名。而且通常来说,我们更需要的是一个可扩展的信息检索系统,而不是一个封闭的搜索引擎系统。从这个角度来说,我觉得Lucene比Nutch更有前途。据我了解,阿里巴巴和搜房网的信息检索可能就是用Lucene来搭建的(个人推测,未经考证,如有雷同,实属巧合),可见Lucene的强大影响力。顺便八卦一下,华中科技大学冰岩作坊的DiggCD的信息检索也是基于Lucene的,Lucene的影响力和冰岩的技术力,由此可略窥一二。 Lucene是用Java写的(当然,网上也有非官方的其他语言版本),而TSE则是用C++编写的。TSE是北大天网推出的搜索引擎源源码,学习型的,可以算作一个搜索引擎的小系统吧。功能相当纯净一些,算法涉及相对少些,没有涉及太多深层次的东西。但正却丝毫不能削弱该open source的影响力,因为他对搜索引擎学习来说,可以起到很好的启蒙作用。国内高校在搜索引擎研究方面,应该说北大和哈工大的实力是很强的,PKU的SEWM和HIT的IR研究室都是佼佼者。不过,北大SEWM通过这样一个TSE系统,却起到了推动国内搜索引擎发展的重要作用。而且,与国内封闭的科研环境相对比,能够将这套代码开源,而且还能提供配套书籍和文档,可以说是迈出了很了不起的一步。另外,值得一提的就是北大的Infomall建设,不得不佩服北大人的使命感。 TSE的源代码我是看过的,NBNC代码量7k左右,源码写的比较规范,还算不难理解。而Lucene的源码,一直以来,都没有很好的时间和机会下决心去拜读,但相关资料和书籍还是看了一些的,其开放的API设计,尤其让我印象深刻。 最后,不得不说的是,国内搜索引擎的学习资料确实很少,就我看过的书籍来说。北大李晓明等编著的《搜索引擎:原理、技术与系统》算是不错的了,结合TSE来看,效果更佳。国内知名SE人士卢亮编著的《搜索引擎原理、实践与应用》也是不错的,讲了很多搜索引擎的基本原理,并连带介绍了很多Open source。对Lucene来说,《Lucene IN ACTION》算是红宝书了吧,另外,邱哲等编著的《开发自己的搜索引擎:Lucene 2.0+Heritrix》也比较实用。其他的书籍,哪怕是写的不好的,也没几本可以选择的,在Joyo上搜索一下,结果也少的可怜,希望随着搜索技术的发展,能有更多的书籍面世。 国内搜索引擎的学习资源确实很少,国内高校开设相关课程的也很少。就此而论,我觉得IT大佬们一味的埋怨搜索引擎人才的匮乏的做法实在让人不敢苟同。要知道,关键技术都掌握在公司里面了,要是大家都不愿去推广这门技术,人才何处而来?不过庆幸的是,似乎大家已经认识到这个问题了,据我所知,华中科技大学计算机学院已经开始开设相关课程了,据说这事和百度有些关系,如果真是这样,那实在可喜可贺。 作者:张良伦(keeptry) http://www.keeptry.com |
最近读者: