- 浏览: 158238 次
- 性别:
- 来自: 北京
最新评论
-
w156445045:
我最近想写这方面的论文,学位论文啊,哎。希望博主能给点思路,谢 ...
《Lucene+Nutch搜索引擎》看过以后。。。 -
inprice:
这也要研究啊!!!!! 失望ing.........
完成了对于heritrix的初步研究 -
dt_fb:
您好,我想问问您,你有跳过recrawl.sh这个脚本文件么? ...
Nutch开源搜索引擎的crawl日志分析及工作目录说明 -
lovepoem:
能增量吗?是不是还是把所有的url遍历出来。和以前的对比。算是 ...
Nutch开源搜索引擎增量索引recrawl的终极解决办法 -
itang:
见到牛人照片了, MS下巴动过刀(开玩笑)
搜索引擎名人堂之Jeff Dean
十一要放假了,先祝广大同学们节日快乐!
在之前的一篇文章中,我给出了Nutch的recrawl的解决办法。说实话,当时已经觉得可以应对recrawl的问题,但是我自己在测试过程中发现,在index的merge时,并没有完全成功。本文就是针对上一篇文章给出解决办法。
具体的原因是在merge完成后,会在index目录下面生成一个merge-output目录,这是由于临时目录newindexs和index执行完毕后产生的,这就增量索引的结果。
在shell中的命令是:/nutch/search/bin/nutch merge crawl10/index crawl10/newindexes
我原先的index目录中_0.fdt原来就是6292105 Byte,执行完后并没有增加,而在merge-output中的_0.fdt大小是1636852 Byte。说明这两块索引并没有合并在一起。
[nutch@linux1 crawl10-new]$ ll index/
total 76228
-rw-r--r-- 1 nutch users 6292105 Sep 28 17:02 _0.fdt
-rw-r--r-- 1 nutch users 236848 Sep 28 17:02 _0.fdx
-rw-r--r-- 1 nutch users 81 Sep 28 17:02 _0.fnm
-rw-r--r-- 1 nutch users 22120872 Sep 28 17:02 _0.frq
-rw-r--r-- 1 nutch users 177640 Sep 28 17:02 _0.nrm
-rw-r--r-- 1 nutch users 48174123 Sep 28 17:02 _0.prx
-rw-r--r-- 1 nutch users 12794 Sep 28 17:02 _0.tii
-rw-r--r-- 1 nutch users 902086 Sep 28 17:02 _0.tis
drwxr-xr-x 2 nutch users 4096 Sep 28 17:02 merge-output
-rw-r--r-- 1 nutch users 41 Sep 28 17:02 segments_2
-rw-r--r-- 1 nutch users 20 Sep 28 17:02 segments.gen
[nutch@linux1 crawl10-new]$ ll index/merge-output/
total 20520
-rw-r--r-- 1 nutch users 1636852 Sep 28 18:53 _0.fdt
-rw-r--r-- 1 nutch users 61608 Sep 28 18:53 _0.fdx
-rw-r--r-- 1 nutch users 81 Sep 28 18:53 _0.fnm
-rw-r--r-- 1 nutch users 5782861 Sep 28 18:53 _0.frq
-rw-r--r-- 1 nutch users 46210 Sep 28 18:53 _0.nrm
-rw-r--r-- 1 nutch users 13004666 Sep 28 18:53 _0.prx
-rw-r--r-- 1 nutch users 5406 Sep 28 18:53 _0.tii
-rw-r--r-- 1 nutch users 405471 Sep 28 18:53 _0.tis
-rw-r--r-- 1 nutch users 41 Sep 28 18:53 segments_2
-rw-r--r-- 1 nutch users 20 Sep 28 18:53 segments.gen
不知道nutch是否有这种合并的功能,呵呵,我没有找到,于是就自己写了一个类MergeLuceneIndex来解决这个问题。具体的思路就是用lucene的索引合并功能来处理这个问题,将merge-output下面的索引文件合并到index下面,执行后_1.fdt大小变成7928957 Byte,说明合并成功,重启tomcat后,就能看到增量的索引的内容了。
[nutch@linux1 crawl10-new]$ ll index
total 96360
-rw-r--r-- 1 root root 7928957 Sep 28 18:53 _1.fdt
-rw-r--r-- 1 root root 298456 Sep 28 18:53 _1.fdx
-rw-r--r-- 1 root root 81 Sep 28 18:53 _1.fnm
-rw-r--r-- 1 root root 27954608 Sep 28 18:53 _1.frq
-rw-r--r-- 1 root root 223846 Sep 28 18:53 _1.nrm
-rw-r--r-- 1 root root 61178789 Sep 28 18:53 _1.prx
-rw-r--r-- 1 root root 13078 Sep 28 18:53 _1.tii
-rw-r--r-- 1 root root 922972 Sep 28 18:53 _1.tis
drwxr-xr-x 2 nutch users 4096 Sep 28 18:53 merge-output
-rw-r--r-- 1 root root 41 Sep 28 18:53 segments_3
-rw-r--r-- 1 root root 20 Sep 28 18:53 segments.gen
合并索引是lucene的基本功能,很好很强大。由于我选paoding做中文分词,所以需要配置好paoding,再运行下面这个类。
//注意:nutch默认是用分拆式index,需要将compound设成false
indexWriter.setUseCompoundFile(false);
共享一下代码!
希望这个补救措施能够进一步帮助到大家,我可不希望我发表的文章误人子弟,嘿嘿!
在之前的一篇文章中,我给出了Nutch的recrawl的解决办法。说实话,当时已经觉得可以应对recrawl的问题,但是我自己在测试过程中发现,在index的merge时,并没有完全成功。本文就是针对上一篇文章给出解决办法。
具体的原因是在merge完成后,会在index目录下面生成一个merge-output目录,这是由于临时目录newindexs和index执行完毕后产生的,这就增量索引的结果。
在shell中的命令是:/nutch/search/bin/nutch merge crawl10/index crawl10/newindexes
我原先的index目录中_0.fdt原来就是6292105 Byte,执行完后并没有增加,而在merge-output中的_0.fdt大小是1636852 Byte。说明这两块索引并没有合并在一起。
[nutch@linux1 crawl10-new]$ ll index/
total 76228
-rw-r--r-- 1 nutch users 6292105 Sep 28 17:02 _0.fdt
-rw-r--r-- 1 nutch users 236848 Sep 28 17:02 _0.fdx
-rw-r--r-- 1 nutch users 81 Sep 28 17:02 _0.fnm
-rw-r--r-- 1 nutch users 22120872 Sep 28 17:02 _0.frq
-rw-r--r-- 1 nutch users 177640 Sep 28 17:02 _0.nrm
-rw-r--r-- 1 nutch users 48174123 Sep 28 17:02 _0.prx
-rw-r--r-- 1 nutch users 12794 Sep 28 17:02 _0.tii
-rw-r--r-- 1 nutch users 902086 Sep 28 17:02 _0.tis
drwxr-xr-x 2 nutch users 4096 Sep 28 17:02 merge-output
-rw-r--r-- 1 nutch users 41 Sep 28 17:02 segments_2
-rw-r--r-- 1 nutch users 20 Sep 28 17:02 segments.gen
[nutch@linux1 crawl10-new]$ ll index/merge-output/
total 20520
-rw-r--r-- 1 nutch users 1636852 Sep 28 18:53 _0.fdt
-rw-r--r-- 1 nutch users 61608 Sep 28 18:53 _0.fdx
-rw-r--r-- 1 nutch users 81 Sep 28 18:53 _0.fnm
-rw-r--r-- 1 nutch users 5782861 Sep 28 18:53 _0.frq
-rw-r--r-- 1 nutch users 46210 Sep 28 18:53 _0.nrm
-rw-r--r-- 1 nutch users 13004666 Sep 28 18:53 _0.prx
-rw-r--r-- 1 nutch users 5406 Sep 28 18:53 _0.tii
-rw-r--r-- 1 nutch users 405471 Sep 28 18:53 _0.tis
-rw-r--r-- 1 nutch users 41 Sep 28 18:53 segments_2
-rw-r--r-- 1 nutch users 20 Sep 28 18:53 segments.gen
不知道nutch是否有这种合并的功能,呵呵,我没有找到,于是就自己写了一个类MergeLuceneIndex来解决这个问题。具体的思路就是用lucene的索引合并功能来处理这个问题,将merge-output下面的索引文件合并到index下面,执行后_1.fdt大小变成7928957 Byte,说明合并成功,重启tomcat后,就能看到增量的索引的内容了。
[nutch@linux1 crawl10-new]$ ll index
total 96360
-rw-r--r-- 1 root root 7928957 Sep 28 18:53 _1.fdt
-rw-r--r-- 1 root root 298456 Sep 28 18:53 _1.fdx
-rw-r--r-- 1 root root 81 Sep 28 18:53 _1.fnm
-rw-r--r-- 1 root root 27954608 Sep 28 18:53 _1.frq
-rw-r--r-- 1 root root 223846 Sep 28 18:53 _1.nrm
-rw-r--r-- 1 root root 61178789 Sep 28 18:53 _1.prx
-rw-r--r-- 1 root root 13078 Sep 28 18:53 _1.tii
-rw-r--r-- 1 root root 922972 Sep 28 18:53 _1.tis
drwxr-xr-x 2 nutch users 4096 Sep 28 18:53 merge-output
-rw-r--r-- 1 root root 41 Sep 28 18:53 segments_3
-rw-r--r-- 1 root root 20 Sep 28 18:53 segments.gen
合并索引是lucene的基本功能,很好很强大。由于我选paoding做中文分词,所以需要配置好paoding,再运行下面这个类。
//注意:nutch默认是用分拆式index,需要将compound设成false
indexWriter.setUseCompoundFile(false);
共享一下代码!
package org.apache.nutch.tool; import java.io.File; import net.paoding.analysis.analyzer.PaodingAnalyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.store.FSDirectory; /** * 这个类是为了处理nutch的本地index用的,合并merge-out与原始的index文件 * @author kevin * */ public class MergeLuceneIndex { /** * @author about merge lucene Index by kevin * 将小索引文件合并到大的索引文件中去 * @param from 将要合并到to文件的文件 * @param to 将from文件合并到该文件 * @param sa */ private static void mergeIndex(File from, File to,Analyzer analyzer) { IndexWriter indexWriter = null; try { System.out.println("Merge start! "); indexWriter = new IndexWriter(to, analyzer, false); indexWriter.setUseCompoundFile(false);//注意:nutch默认是用分拆式index,需要将compound设成false indexWriter.setMergeFactor(100000); indexWriter.setMaxFieldLength(Integer.MAX_VALUE); indexWriter.setMaxBufferedDocs(Integer.MAX_VALUE); indexWriter.setMaxMergeDocs(Integer.MAX_VALUE); FSDirectory[] fs = { FSDirectory.getDirectory(from, false) }; indexWriter.addIndexes(fs); indexWriter.optimize(); indexWriter.close(); System.out.println("Merge finished!"); } catch (Exception e) { System.out.println("Merge error!"); e.printStackTrace(); } finally { try { if (indexWriter != null) indexWriter.close(); } catch (Exception e) { e.printStackTrace(); } } } public static void main(String[] arg){ //File from = new File("/nutch/local/crawl10-new/index/merge-output"); //File to = new File("/nutch/local/crawl10-new/index"); File from = new File(arg[0]); File to = new File(arg[1]); mergeIndex(from,to,new PaodingAnalyzer()); } }
希望这个补救措施能够进一步帮助到大家,我可不希望我发表的文章误人子弟,嘿嘿!
评论
4 楼
nhy520
2009-05-23
怎么执行脚本啊大哥.我不会shell编程
3 楼
yawl
2009-01-09
http://wiki.apache.org/nutch/IntranetRecrawl
最前面的注解是我加的。今年初使用过nutch一段,发现这个recrawl的并不像宣称的那样工作。
最前面的注解是我加的。今年初使用过nutch一段,发现这个recrawl的并不像宣称的那样工作。
2 楼
ianwong
2008-12-18
你确信merge-out产生的是增量数据??
1 楼
ianwong
2008-12-17
合并后 查询服务器启动不起来了哦
发表评论
-
Nutch1.0开源搜索引擎与Paoding在eclipse中用plugin方式集成(终极篇)
2009-09-14 13:15 4290本文主要描述的是如何将paoding分词用plugi ... -
Nutch1.0的那些事
2009-09-10 12:37 2157很久没有更新博客了,应该快一年了。现在呢,我把去年 ... -
配置linux服务器之间ssh不用密码访问
2008-11-05 13:55 3877在配置nutch的时候,我 ... -
搜索引擎术语
2008-10-15 15:30 2506最近monner兄共享了一篇 ... -
搜索引擎机器人研究报告
2008-10-13 15:35 1902从该文对googlebot的分析看,googlebot似乎是想 ... -
搜索引擎算法研究
2008-10-13 15:11 20961.引言 万维网WWW(World Wide Web ... -
谁说搜索引擎只关注结果-看我viewzi的72变
2008-10-04 20:15 1801搜索引擎给大家的感觉,就是用起来简单,以google为首,一个 ... -
《Lucene+Nutch搜索引擎》看过以后。。。
2008-10-03 23:42 7605研究搜索引擎技术快一 ... -
微软有趣的人物关系搜索引擎——人立方
2008-10-03 20:00 3904最近,微软亚洲研究院 ... -
Nutch:一个灵活可扩展的开源web搜索引擎
2008-09-28 11:46 2228在网上找到一篇于2004年11月由CommerceNet La ... -
Google公司都是些什么牛人?
2008-09-27 17:31 2024Google公司都是些什么牛人? 1 Vi ... -
搜索引擎名人堂之Doug Cutting
2008-09-27 11:41 2602Doug Cutting是一个开源搜索技术的提倡者和创造者。他 ... -
Nutch开源搜索引擎增量索引recrawl的终极解决办法
2008-09-26 19:12 5138本文重点是介绍Nutch开源搜索引擎如何在Hadoop分布式计 ... -
Nutch开源搜索引擎与Paoding中文分词用plugin方式集成
2008-09-26 15:31 4572本文是我在集成中文分词paoding时积累的经验,单独成一篇文 ... -
关于Hadoop的MapReduce纯技术点文章
2008-09-24 18:10 3476本文重点讲述Hadoop的整 ... -
MapReduce-免费午餐还没有结束?
2008-09-24 09:57 1460Map Reduce - the Free Lunch is ... -
搜索引擎名人堂之Jeff Dean
2008-09-22 15:09 14914最近一直在研究Nutch,所以关注到了搜索引擎界的一些名人,以 ... -
Lucene于搜索引擎技术(Analysis包详解)
2008-09-22 14:55 2187Analysis 包分析 ... -
Lucene与搜索引擎技术(Document包详解)
2008-09-22 14:54 1692Document 包分析 理解 ... -
Lucene的查询语法
2008-09-22 14:53 1382原文来自:http://liyu2000.nease.net/ ...
相关推荐
Nutch开源搜索引擎增量索引recrawl的终极解决办法续
Nutch开源搜索引擎增量索引recrawl的终极解决办法
其中内容均为前段时间研究开源搜索引擎时搜集参考的资料,非常齐全包含的内容有: Computing PageRank Using Hadoop.ppt Google的秘密PageRank彻底解说中文版.doc JAVA_Lucene_in_Action教程完整版.doc Java开源搜索...
nutch一款开源搜索引擎,recrawl是实现索引更新的脚本 mergecrawl是合并多个网站查询的bash脚本。
为您提供Apache Nutch 开源搜索引擎下载,Nutch的创始人是Doug Cutting,他同时也是Lucene、Hadoop和Avro开源项目的创始人。Nutch诞生于2002年8月,是Apache旗下的一个用Java实现的开源搜索引擎项目,自Nutch1.2版本...
为您提供Apache Nutch 开源搜索引擎下载,Nutch的创始人是Doug Cutting,他同时也是Lucene、Hadoop和Avro开源项目的创始人。Nutch诞生于2002年8月,是Apache旗下的一个用Java实现的开源搜索引擎项目,自Nutch1.2版本...
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0
基于Nutch的搜索引擎系统的研究与实现
Nutch搜索引擎·Nutch简介及安装(第1期) Nutch搜索引擎·Solr简介及安装(第2期) Nutch搜索引擎·Nutch简单应用(第3期) Nutch搜索引擎·Eclipse开发配置(第4期) Nutch搜索引擎·Nutch浅入分析(第5期)
开源搜索引擎的比较,Lucene Nutch Heritrix Weblech等
Lucene+Nutch搜索引擎开发
Nutch是一个优秀的开放源代码的Web...分析开源搜索引擎Nutch代码,研究了Nutch的页面排序方法。在Nutch原有的结构基础上提出了3种修改Nutch 排序的方法,对每种方法的实现进行了阐述,最后对这些方法的特点进行了比较
nutch框架详细介绍,基本概念,功能模块,搭建方法
学习Lucene和Nutch的入门书籍,学习搜索引擎开发值得一看的书籍
Lucene nutch 搜索引擎开发 Part1
完整的《Lucene+nutch搜索引擎开发》PDF版一共83.6M,无奈我上传的最高限是80M,所以切成两个。这一个是主文件,还需要下载一个副文件Lucene+nutch搜索引擎开发.z01。解压时直接放到一起,解压这个主文件就行了。
licene 实例代码 nutch实例代码 lucene+nutch搜索引擎开发实例代码(王学松版)
nutch分布式搜索索引热替换程序,当使用nutch分布式搜索的时候,通过修改nutch来实现重建索引和分布式搜索分隔开,相互不影响