邱哲&符滔滔's profile学习搜索引擎PhotosBlogListsMore Tools Help
一些朋友的BLOG地址

邱哲&符滔滔

Photo 1 of 1
This person's network is empty (or maybe they're keeping it private).

学习搜索引擎

开发自己的搜索引擎——Lucene2.0+Heritrix 读者有任何问题,请发邮件至:luceneheritrix@163.com 或登录http://www.rzchina.net该书版块发表问题
May 23

从强锋科技到融智科技。。ZZQ说名字太土

ZZQ老兄弄了个融智科技,原来叫强锋科技,他说名字太土,所以改了,哈哈
上面有我的这本书的一个专门版块,欢迎大家上去提些问题。我是那个版的版主。。。
May 21

Wesley老兄给我的一个getClassKey()的方法

有读者问我,Heritrix在进行垂直抓取时,对于一个网站,无论你开多少个线程,始终还是只有一个线程在运行,这样效率太低了。
事实上,我在书上提到的ELFHash方法,是从Wesley那里学来的,吴萌野同学把他的那个QueueAssignmentPolicy开源给我了,我就粘出来大家一起学习一下吧。
 
    public String getClassKey(CrawlController controller, CandidateURI cauri) {
        String uri = cauri.getUURI().toString();
        long hash = ELFHash(uri);
        String a = Long.toString(hash % 100);
        return a;
    }
    public long ELFHash(String str)
    {
       long hash = 0;
       long x    = 0;
       for(int i = 0; i < str.length(); i++)
       {
          hash = (hash << 4) + str.charAt(i);
          if((x = hash & 0xF0000000L) != 0)
          {
             hash ^= (x >> 24);
             hash &= ~x;
          }
       }
       return (hash & 0x7FFFFFFF);
    }
 
其实还是比较简单,具体算法不用追究了,它可以让Heritrix把不同的URL散列到不同Queue中去,这样会比原来快很多。
崇拜一下Wesley...嘿嘿,书的前言里对他致谢了,真的是因为他我才学的会Heritrix。
May 11

书中所用到的Eclipse插件

我在书中用到的Eclipse的插件是在如下地址下载的
 
最近总有读者朋友来信说无法调试,原因都是因为没有安装我说的这个插件。如果Eclipse安装完这个插件,就可以把我光盘中的工程直接导入到Eclipse里,很方便的。书上所有的例子都是用这个插件来开发的。
May 06

回了几个读者的来信

有读者在来信提问的时候,仅用很简单的几句话描写问题,这样让我很郁闷。希望读者朋友在来信的时候,如果是代码有问题,则把相应的程序,配置文件,最好是完整的Eclipse工程一起发给我,这样我才有可能帮大家解决问题。。。。
 
另外,还有读者写信来,让我给他发一个Heritrix。。。。。我想,这个应该在Sourceforge.net上随便就能下载到的吧。。。
 
 
April 28

终于看到样书了。。

昨天终于从ZZQ那里拿到了样书,很精美。。
CHINA-PUB上已经有卖了,呵呵,真高兴啊
April 24

一个读者反应的异常

有读者在来信里反应,他们在运行Heritrix的时候,从Eclipse里启动一切正常,但是从命令行方式下启动,会发生如下异常:
 
Exception in thread "StartNextJob" java.lang.NoSuchMethodError: org.apache.commons.httpclient.HttpState.setCookiesMap(Ljava/util/SortedMap;)V
        at org.archive.crawler.fetcher.FetchHTTP.configureHttpCookies(FetchHTTP.
java:1169)
        at org.archive.crawler.fetcher.FetchHTTP.configureHttp(FetchHTTP.java:11
26)
        at org.archive.crawler.fetcher.FetchHTTP.initialTasks(FetchHTTP.java:104
3)
        at org.archive.crawler.framework.CrawlController.runProcessorInitialTask
s(CrawlController.java:1661)
        at org.archive.crawler.framework.CrawlController.requestCrawlStart(Crawl
Controller.java:1002)
        at org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJ
obHandler.java:1136)
        at org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:
1113)
        at java.lang.Thread.run(Unknown Source)
 
原因暂时不明,我正在研究,希望能尽快解决。
刚开始以为是版本问题,我下载了最新的1.12.0版本,修改了conf/heritrix.properties 加入用户名和密码,然后用如下BAT文件运行成功
 
java -Xmx512m -Dheritrix.home=e:\\heritrix -cp "E:\\heritrix\\lib\\commons-codec-1.3.jar;E:\\heritrix\\lib\\commons-collections-3.1.jar;E:\\heritrix\\lib\\dnsjava-2.0.3.jar;E:\\heritrix\\lib\\poi-scratchpad-2.0-RC1-20031102.jar;E:\\heritrix\\lib\\commons-logging-1.0.4.jar;E:\\heritrix\\lib\\commons-httpclient-3.0.1.jar;E:\\heritrix\\lib\\commons-cli-1.0.jar;E:\\heritrix\\lib\\mg4j-1.0.1.jar;E:\\heritrix\\lib\\javaswf-CVS-SNAPSHOT-1.jar;E:\\heritrix\\lib\\bsh-2.0b4.jar;E:\\heritrix\\lib\\servlet-tomcat-4.1.30.jar;E:\\heritrix\\lib\\junit-3.8.2.jar;E:\\heritrix\\lib\\jasper-compiler-tomcat-4.1.30.jar;E:\\heritrix\\lib\\commons-lang-2.1.jar;E:\\heritrix\\lib\\itext-1.2.0.jar;E:\\heritrix\\lib\\poi-2.0-RC1-20031102.jar;E:\\heritrix\\lib\\jetty-4.2.23.jar;E:\\heritrix\\lib\\commons-net-1.4.1.jar;E:\\heritrix\\lib\\libidn-0.5.9.jar;E:\\heritrix\\lib\\ant-1.6.2.jar;E:\\heritrix\\lib\\fastutil-5.0.3-heritrix-subset-1.0.jar;E:\\heritrix\\lib\\je-3.2.13.jar;E:\\heritrix\\lib\\commons-pool-1.3.jar;E:\\heritrix\\lib\\jasper-runtime-tomcat-4.1.30.jar;E:\\heritrix\\heritrix-1.12.0.jar" org.archive.crawler.Heritrix
 
April 16

感谢众位读者,提供了供大家下载光盘源码的空间

由于热心读者的帮忙,我已经把被出版社砍掉的内容放在了他所提供的空间中。在这里向大兵读者,向湖北武汉的SearchEngin读者表示感谢:)
 
以下是下载的地址:(请用右键另存为直接下载,不要用迅雷,因为这个空间对迅雷支持好像不是很好)
PCONLINE的手机网页镜象(730M+):http://zhaoshipin.com/lucene_heritrix/mirror.rar
书中的Eclipse工程源代码(25M+):http://zhaoshipin.com/lucene_heritrix/Eclipse_projects.rar
 
教育网的朋友,可以用以下地址下载:
 
仍然希望有其它读者可以帮忙,提供一个空间让我把更多的开发过程中的代码,文件,资源放上去供其它读者下载。
 
正式出版的书后光盘文件包括
1.源代码
 
我还有以下内容希望和读者分享
2.使用爬虫抓取的PCOnline的手机信息的镜象文件
3. 数据库备份
4. Lucene索引的备份
5. 处理网页后所得到的手机信息完整文件,txt格式
 
如果有读者能够提供足够大的空间,请回贴,谢谢:)
 
April 14

万分悲痛。。

唉,带着万分悲痛的心情告诉关注这本书的朋友。。书中的搜索引擎的例子,本来我已经把用爬虫爬好的网页打包,放在光盘中,这样读者就可以很爽的运行整个程序,体会一下开发的过程。但是由于那些网页是从pconline上弄下来的,出版社担心有版权问题,就是不让放在光盘中。而更大的问题是,现在PCONLINE的网页页面已经改版,按照我光盘的源代码直接运行爬虫抓取下来的页面,已经无法被我提供的程序直接解析生成产品信息文件(一些正则表达式和网页结构解析,需要改变代码),因此很是不爽。。。。
 
不知道哪位读者可以提供一个空间,让我把我这里完整的源代码和光盘文件以及可运行的网页文件放在上面,供其它读者下载,我将万万万分感激。。。
 
由于这个给读者造成的不便,还请谅解。不过好在,我书中很清楚的描述了整个搜索引擎的开发过程,读者仔细阅读的话,应该很容易就能改变代码,以适应现在最新的网页结构。
 
郁闷。。。
March 14

开发自己的搜索引擎——Lucene2.0+Heritrix(爬虫)

标题是的是书名。。有点土。。出版社的某人和ZZQ一起想的。。。我也没啥见地就忍了
凑合吧。。。
 
总算要出版了。。希望对大家有点帮助。。