2009年3月16日星期一

【毕设】日志-2009.03.16

  本周开始着手页面爬取模块的实现。

  先对昨天开会时师兄提到的Lucene[1]作了更详细的调研,有了一些了解。一般说来,Lucene是指全文检索引擎。有人在此基础上加入Heritrix等爬虫,作为简易搜索引擎来使用[2]。而Lucene的原作者,资深全文检索专家Doug Cutting也建立了一个新的项目,开源搜索引擎Nutch[3]。Nutch包括Crawler和Searcher两部分,后者的查询功能就是基于Lucene的。

  目前有这样几种思路:继续Heritrix的调试,看看它是否可以满足需求;研究Nutch的Crawler代码,是否比Heritrix更好用;继续调研,决定用Lucene还是MySQL,或是两者都用。针对最后一点,稍作说明。根据目前的调研结果,Lucene某种程度上也可以取代数据库,它的全文检索功能比MySQL要强大,但若要实现关系数据库的复杂功能,Lucene却无能为力。

  下午研究了一下Nutch,它只能运行在Linux下,如果想在Windows中使用,要通过Cygwin来模拟Unix环境。这样做比较麻烦,而且不利于以后的模块整合。 晚上开始看JSpider[4],是一个03年的JAVA开源爬虫。之前由于认识上的误区,以为旧爬虫不如新爬虫,就没过多关注这个JSpider,经师兄提醒才明白需求是第一位的。JSpider运行起来比较简单,通过命令行输入:jspider http://en.wikipedia.org/ download 即可下载整个网站。它提供的文档也比较详细,按理说本可列为重点研究对象,但是通过进一步查阅网上评论,发现很多网友都认为JSpider的扩展很麻烦。



  网上还有人推荐WebSPHINX[5],我下载源码后发现编程环境是Linux,但是在Windows下也能运行。它的界面还是挺有特色的,不知功能扩展修改起来方不方便,明天再研究。



参考文献:
[1] Apache Lucene. http://lucene.apache.org/java/docs/index.html
[2] 白坤, 耿国华. 基于Lucene/Heritrix的垂直搜索引擎的研究与应用[J]. 计算机应用与软件, 2009, (01).
[3] Nutch. http://lucene.apache.org/nutch/
[4] JSpider. http://j-spider.sourceforge.net/
[5] WebSPHINX. http://www-2.cs.cmu.edu/~rcm/websphinx/

没有评论:

发表评论