一个不错的nutch使用文档2007-10-26 10:19基本上把思路理清了
一、安装nutch和配置tomcat,注意nutch0.7和0.8的区别,在这里以0.7版本为例
二、抓取网页,建立搜索
1、假设当前目录为nutch目录,建立一个urls文件,内容就是要抓取的网站域名,如http://www.mydomain.com,可以有多个,每行写一个。在试验中发现,只有根域名有时候抓取的内容没有或很少,加入更多的详细URL效果很好,比如http: //www.mydomain.com/users,http://forum.mydomain.com/post/123,http://www.mydomain.com/articles/123 等,越详细越全面越好,我理解是不是这样的话在crawl的时候,depth的值就可以设小一些了。
2、修改conf/crawl-urlfilter.txt,加入过滤URL的规则
3、开始抓取:
#bin/nutch crawl urls -dir crawl.mydomain -depth 10
4、运行Tomcat前的准备,拷贝war文件,参见《nutch研究(二)》
5、到这里基本的搜索就可以用了
三、 索引的更新和维护
1、写一个维护脚本,定时运行,是个好办法
#!/bin/bash
# Set JAVA_HOME to reflect your systems java configuration
export JAVA_HOME=/usr/lib/j2sdk1.5-sun
# Start index updation,只查找最热门的前1000条记录,由此创建新的segment
bin/nutch generate crawl.mydomain/db crawl.mydomain/segments -topN 1000
#得到最新的segment目录名
s=`ls -d crawl.virtusa/segments/2* | tail -1`
echo Segment is $s
bin/nutch fetch $s
bin/nutch updatedb crawl.mydomain /db $s
bin/nutch analyze crawl.mydomain /db 5
bin/nutch index $s
#删除重复记录
bin/nutch dedup crawl.mydomain /segments crawl.mydomain/tmpfile
# Merge segments to prevent too many open files exception in Lucene
#合并成一个新的segment
bin/nutch mergesegs -dir crawl.mydomain/segments -i -ds
s=`ls -d crawl.mydomain/segments/2* | tail -1`
echo Merged Segment is $s
rm -rf crawl.mydomain/index
2、以上是在urls文件内容没有变化的时候采用的办法,如果我加入的新的URL在urls文件里,那么在运行generate以前,要执行下面一命令:
#bin/nutch inject crawl.mydomain/db -urlfile urls
在generate的时候,如果不加topN参数,那么crawl只会去处理新加的或原来由于其它原因没有fetch的url或page,所以我感觉,脚本1和用2修改的脚本交替运行,会有很好的效果。
分享到:
相关推荐
nutch1.2测试文档
Nutch 是一个开源的、基于 Lucene 的网络搜索引擎项目,它提供了一套完整的搜索引擎解决方案,包括网页抓取、索引和搜索功能。Nutch 0.8 版本尤其值得关注,因为它完全使用 Hadoop 进行了重写,从而充分利用了 ...
将一个Word文档按页分割成多个Word文档是许多办公场景中常见的需求,特别是在处理大量页面且需要按页分类存档的情况下。本文将详细介绍如何通过VBA(Visual Basic for Applications)代码实现这一功能,帮助读者理解...
Nutch 是一个开源的网络爬虫项目,主要用来抓取互联网上的网页并建立索引,为信息检索提供基础。对于初学者来说,它是一个很好的平台,可以深入了解搜索引擎的工作原理并动手实践。 ### 1. 系统架构 Nutch 的系统...
Nutch是一个广泛使用的Web爬虫,它能够抓取网页并进行索引,以便于后续的搜索和分析。为了使Nutch能够处理RTF和MP3这样的非HTML内容,我们需要集成特定的库来解析这些格式。 首先,让我们深入了解一下RTF库。RTF是...
对于需要公平排序结果的学术搜索和政府站点,Nutch是一个不错的选择。 搜索引擎理解:没有Google的源代码,学习Nutch可以帮助理解一个大型分布式搜索引擎是如何运作的。Nutch在开发过程中借鉴了学术派和工业派的...
Apache Nutch 是一个开源的网络爬虫框架,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的检索。Nutch 2.3 版本是该项目的一个稳定版本,包含了丰富的功能和优化,是学习和研究网络爬虫技术的理想选择...
在MDI中,存在一个主窗口和多个子窗口,其中主窗口(`CMDIFrameWnd`)负责管理子窗口,而每个子窗口则代表一个打开的文档。这样,用户可以在同一时间内查看和编辑多个文档,提高了工作效率。 #### 文档/视图结构...
Nutch是一个开源的Web搜索引擎框架,基于Java编写,它使用Lucene作为搜索引擎核心。Nutch能够抓取网站并建立索引,实现全文搜索功能。Cygwin是一个在Windows环境下运行的类Unix模拟环境,它提供一个庞大的类Unix工具...
Nutch是一款开源搜索引擎,使用Java语言编写,并且依赖于Lucene这一高性能全文搜索引擎库。自Nutch 0.8.0版本起,它完全运行在Hadoop平台上,这使Nutch能够利用Hadoop的分布式文件系统(HDFS)以及MapReduce编程模型...
本文将介绍如何使用 VBA 编辑器来实现将一个 Word 文档按页分割成多个 Word 文档。 Step 1: 打开需要分割的文档 首先,打开需要分割的 Word 文档,假设它的文件名叫做“原始文档.doc”。 Step 2: 打开 VBA 编辑器...
在"一个MFC多文档的小例子vc2015"这个项目中,开发者构建了一个简单的MDI应用,用于学习和实践MFC的多文档编程技术。 1. **MDI基础概念** - **主框架窗口(MDIFrameWnd)**:MDI应用程序的核心,负责管理子文档...
* 设置值:使用 `set` 方法可以设置一个值,例如 `jedis.set("name", "minxr");` 将把 "minxr" 设置为 "name" 的值。 * 获取值:使用 `get` 方法可以获取一个值,例如 `jedis.get("name");` 将获取 "name" 的值。 * ...
Nutch使用广度遍历策略来扩展抓取的范围。 2. 生成段落(Segment):对提交的URL集合进行分析,确定具体的抓取任务细节,然后生成一个包含抓取任务列表的段落。 3. 获取内容(Fetch Content):根据上一步生成的...
Nutch是Apache软件基金会开发的一个开源Web搜索引擎项目,它的设计目标是提供一个可扩展、灵活的搜索解决方案。Nutch不仅能够抓取和索引互联网上的网页,还支持对抓取的数据进行分析和处理,以便为用户提供高质量的...
postman最全中文图解使用文档,postman最全中文图解使用文档,postman最全中文图解使用文档,postman最全中文图解使用文档,
Lucene和Nutch是两个在开源社区广泛使用的搜索引擎技术,它们为开发者提供了构建高效、可扩展的搜索解决方案。本篇将围绕“Lucene+Nutch搜索引擎开发”这一主题,深入探讨王学松源代码,帮助读者理解并掌握这两项...
利用VBA语言将同一文件夹中的多个Word文档合并到一个新的Word中,使用简单快捷。