<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>可乐福的家园 &#187; nutch</title>
	<atom:link href="http://clfour.com/tag/nutch/feed/" rel="self" type="application/rss+xml" />
	<link>http://clfour.com</link>
	<description>fun being me</description>
	<lastBuildDate>Sat, 31 Dec 2011 14:36:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ubuntu下lucene和nutch的配置</title>
		<link>http://clfour.com/2008/10/ubuntu-blucene-nutch/</link>
		<comments>http://clfour.com/2008/10/ubuntu-blucene-nutch/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 09:34:00 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[干活]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[nutch]]></category>
		<category><![CDATA[Study]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://clfour.com/2008/10/ubuntu-blucene-nutch/</guid>
		<description><![CDATA[这篇是对上面配置的继续 1.安装lucene wget http://apache.mirror.phpchina.com/lucene/java/lucene-2.3.2.tar.gz 不是lucene-2.3.2-src.tar.gz哦，这个无lucene-demos-2.3.2.jar 在目录下： tar zxvf lucene-2.3.2.tar.gz mv lucene-2.3.2 /usr/share 查看解压文件里面的build.txt里面有lucene配置的的基本步骤，根据提示，ant是必须的，我们现在要把ant的安装补上（eclipse下有ant，如果在eclipse下调试的话好像不需要再安装了就。具体的不太清楚也） ##CONTINUE## 2.安装ant http://ant.apache.org/bindownload.cgi ant是一个基于JAVA的自动化脚本引擎，脚本格式为XML。除了做JAVA编译相关任务外，ANT还可以通过插件实现很多应用的调用，比make脚本来说还要好维护一些。 wget http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.1-bin.tar.gz 在对应目录下： tar zxvf apache-ant-1.7.1-bin.tar.gz mv apache-ant-1.7.0 /usr/share/ gedit /etc/profile 加上 ANT_HOME=/usr/share/apache-ant-1.7.1 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lh4.ggpht.com/yest835/SJHuJshEwDI/AAAAAAAACAg/b7sk6qSIsUk/s288/%E7%94%B5%E5%BD%B1%E6%B5%B7%E6%8A%A5a.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="float: left; margin: 0pt 10px 10px 0pt; width: 200px; cursor: pointer;" src="http://lh4.ggpht.com/yest835/SJHuJshEwDI/AAAAAAAACAg/b7sk6qSIsUk/s288/%E7%94%B5%E5%BD%B1%E6%B5%B7%E6%8A%A5a.jpg" border="0" alt="" /></a>这篇是对上面配置的继续<br />
1.安装lucene<br />
wget http://apache.mirror.phpchina.com/lucene/java/lucene-2.3.2.tar.gz<br />
不是lucene-2.3.2-src.tar.gz哦，这个无lucene-demos-2.3.2.jar<br />
在目录下：<br />
tar zxvf lucene-2.3.2.tar.gz<br />
mv lucene-2.3.2 /usr/share</p>
<p>查看解压文件里面的build.txt里面有lucene配置的的基本步骤，根据提示，ant是必须的，我们现在要把ant的安装补上（eclipse下有ant，如果在eclipse下调试的话好像不需要再安装了就。具体的不太清楚也）<br />
##CONTINUE##<br />
2.安装ant</p>
<p>http://ant.apache.org/bindownload.cgi</p>
<p>ant是一个基于JAVA的自动化脚本引擎，脚本格式为XML。除了做JAVA编译相关任务外，ANT还可以通过插件实现很多应用的调用，比make脚本来说还要好维护一些。</p>
<p>wget http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.1-bin.tar.gz</p>
<p>在对应目录下：<br />
tar zxvf apache-ant-1.7.1-bin.tar.gz</p>
<p>mv apache-ant-1.7.0 /usr/share/</p>
<p>gedit /etc/profile</p>
<p>加上<br />
ANT_HOME=/usr/share/apache-ant-1.7.1<br />
export ANT_HOME<br />
编辑<br />
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin</p>
<p>3 继续设置lucene<br />
再修改profile<br />
gedit /etc/profile<br />
增加<br />
LUCENE_HOME=/usr/share/lucene-2.3.2<br />
CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${LUCENE_HOME}/lucene-core-2.3.2.jar:${LUCENE_HOME}/lucene-demos-2.3.2.jar</p>
<p>4.测试lucene demo<br />
在lucene目录下，<br />
cd ./src/demo<br />
java org.apache.lucene.demo.IndexFiles /usr/share/lucene-2.3.2/docs</p>
<p>如果路径正确会出现如下：<br />
。<br />
。<br />
。<br />
adding /usr/share/lucene-2.3.2/docs/demo.pdf<br />
adding /usr/share/lucene-2.3.2/docs/demo2.html<br />
adding /usr/share/lucene-2.3.2/docs/gettingstarted.html<br />
adding /usr/share/lucene-2.3.2/docs/fileformats.pdf<br />
adding /usr/share/lucene-2.3.2/docs/scoring.html<br />
adding /usr/share/lucene-2.3.2/docs/linkmap.html<br />
adding /usr/share/lucene-2.3.2/docs/lucene-sandbox/index.html<br />
adding /usr/share/lucene-2.3.2/docs/lucene-sandbox/index.pdf<br />
adding /usr/share/lucene-2.3.2/docs/queryparsersyntax.pdf<br />
adding /usr/share/lucene-2.3.2/docs/linkmap.pdf<br />
adding /usr/share/lucene-2.3.2/docs/demo4.html<br />
adding /usr/share/lucene-2.3.2/docs/benchmarktemplate.xml<br />
adding /usr/share/lucene-2.3.2/docs/index.pdf<br />
Optimizing&#8230;<br />
17869 total milliseconds<br />
并生成index文件夹。<br />
然后就可以搜索了，<br />
输入以下命令就会出现搜索提示符。<br />
java org.apache.lucene.demo.SearchFiles<br />
按提示输入即可。</p>
<p>如果要在tomcat下测试lucene demo可按如下操作：<br />
4.1.将lucene目录下的/src/jsp目录复制到tomcat的webapps目录下，该名为luceneweb<br />
4.2.复制lucene-core-2.3.2.jar和lucene-demos-2.3.2.jar到luceneweb/WEB_INF/lib目录下<span style="text-decoration: line-through;">（或将luceneweb.war复制到tomcat的webapps目录下）没仔细试，好像不行<br />
</span><br />
4.3.将index目录复制到luceneweb目录下<br />
4.4.编辑luceneweb下的configuration.jsp,设置String indexLocation = “/usr/share/tomcat6/webapps/luceneweb/index”;String appfooter也可以自行设置<br />
4.5.重启tomcat，访问http://localhost:8080/luceneweb/，就可以看到lucene demo的界面了，可以试着搜索下看看～</p>
<p>5.安装Nutch<br />
可以去Apache的官方网页http://www.apache.org/dyn/closer.cgi/lucene/nutch/ 下载最新版的Nutch，目前最新版是nutch-0.9<br />
解压缩到目标文件夹即可。<br />
Nutch和tomcat，eclipse的是接下来要做的工作了</p>
]]></content:encoded>
			<wfw:commentRss>http://clfour.com/2008/10/ubuntu-blucene-nutch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nutch介绍[转自Nutch中文网站]</title>
		<link>http://clfour.com/2008/09/nutch-introduction/</link>
		<comments>http://clfour.com/2008/09/nutch-introduction/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 09:23:00 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[干活]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[nutch]]></category>
		<category><![CDATA[Study]]></category>
		<category><![CDATA[ZZ]]></category>

		<guid isPermaLink="false">http://clfour.com/2008/09/nutch-introduction/</guid>
		<description><![CDATA[Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。可以为什么我们需要建立自己的搜索引擎呢？毕竟我们已经有google可以使用。这里我列出3点原因： ##CONTINUE## 透明度：Nutch是开放源代码的，因此任何人都可以查看他的排序算法是如何工作的。商业的搜索引擎排序算法都是保密的，我们无法知道为什么搜索出来的排序结果是如何算出来的。更进一步，一些搜索引擎允许竞价排名，比如百度，这样的索引结果并不是和站点内容相关的。因此 Nutch 对学术搜索和政府类站点的搜索来说，是个好选择。因为一个公平的排序结果是非常重要的。 对搜索引擎的理解：我们并没有google的源代码，因此学习搜索引擎Nutch是个不错的选择。了解一个大型分布式的搜索引擎如何工作是一件让人很受益的事情。在写Nutch的过程中，从学院派和工业派借鉴了很多知识：比如：Nutch的核心部分目前已经被重新用 Map Reduce 实现了。看过开复演讲的人都知道 Map Reduce 的一点知识吧。Map Reduce 是一个分布式的处理模型，最先是从 Google 实验室提出来的。你也可以从下面获得更多的消息。 http://www.domolo.com/bbs/list.asp?boardid=29 http://domolo.oicp.net/bbs/list.asp?boardid=29 并且 Nutch 也吸引了很多研究者，他们非常乐于尝试新的搜索算法，因为对Nutch 来说，这是非常容易实现扩展的。 扩展性：你是不是不喜欢其他的搜索引擎展现结果的方式呢？那就用 Nutch 写你自己的搜索引擎吧。 Nutch 是非常灵活的：他可以被很好的客户订制并集成到你的应用程序中：使用Nutch 的插件机制，Nutch [...]]]></description>
			<content:encoded><![CDATA[<p>Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。可以为什么我们需要建立自己的搜索引擎呢？毕竟我们已经有google可以使用。这里我列出3点原因： ##CONTINUE##</p>
<p>透明度：Nutch是开放源代码的，因此任何人都可以查看他的排序算法是如何工作的。商业的搜索引擎排序算法都是保密的，我们无法知道为什么搜索出来的排序结果是如何算出来的。更进一步，一些搜索引擎允许竞价排名，比如百度，这样的索引结果并不是和站点内容相关的。因此 Nutch 对学术搜索和政府类站点的搜索来说，是个好选择。因为一个公平的排序结果是非常重要的。<br />
对搜索引擎的理解：我们并没有google的源代码，因此学习搜索引擎Nutch是个不错的选择。了解一个大型分布式的搜索引擎如何工作是一件让人很受益的事情。在写Nutch的过程中，从学院派和工业派借鉴了很多知识：比如：Nutch的核心部分目前已经被重新用 Map Reduce 实现了。看过开复演讲的人都知道 Map Reduce 的一点知识吧。Map Reduce 是一个分布式的处理模型，最先是从 Google 实验室提出来的。你也可以从下面获得更多的消息。</p>
<p>http://www.domolo.com/bbs/list.asp?boardid=29</p>
<p>http://domolo.oicp.net/bbs/list.asp?boardid=29</p>
<p>并且 Nutch 也吸引了很多研究者，他们非常乐于尝试新的搜索算法，因为对Nutch 来说，这是非常容易实现扩展的。<br />
扩展性：你是不是不喜欢其他的搜索引擎展现结果的方式呢？那就用 Nutch 写你自己的搜索引擎吧。 Nutch 是非常灵活的：他可以被很好的客户订制并集成到你的应用程序中：使用Nutch 的插件机制，Nutch 可以作为一个搜索不同信息载体的搜索平台。当然，最简单的就是集成Nutch到你的站点，为你的用户提供搜索服务。<br />
Nutch 的安装分为3个层次：基于本地文件系统，基于局域网，或者基于 internet 。不同的安装方式具有不同的特色。比如：索引一个本地文件系统相对于其他两个来说肯定是要稳定多了，因为没有 网络错误也不同缓存文件的拷贝。基于Internet 的搜索又是另一个极端：抓取数以千计的网页有很多技术问题需要解决：我们从哪些页面开始抓取？我们如何分配抓取工作？何时需要重新抓取？我们如何解决失效的链接，没有响应的站点和重复的内容？还有如何解决对大型数据的上百个并发访问？搭建这样一个搜索引擎是一笔不小的投资呀！在 ” Building Nutch: Open Source Search,” 的作者 Mike Cafarella 和 Doug Cutting 总结如下：:</p>
<p>&#8230; 一个具有完全功能的搜索系统：1亿页面索引量，每秒2个并发索引，需要每月800美元。10亿页面索引量，每秒50个页面请求，大概需要每月30000美元。</p>
<p>这篇文章将为你演示如何在中等级别的网站上搭建Nutch。第一部分集中在抓取上。Nutch的抓取架构，如何运行一个抓取程序，理解这个抓取过程产生了什么。第二部分关注搜索。演示如何运行Nutch搜索程序。以及如何订制Nutch 。</p>
<p>Nutch Vs. Lucene</p>
<p>Nutch 是基于 Lucene的。Lucene为 Nutch 提供了文本索引和搜索的API。一个常见的问题是；我应该使用Lucene还是Nutch？最简单的回答是：如果你不需要抓取数据的话，应该使用Lucene。常见的应用场合是：你有数据源，需要为这些数据提供一个搜索页面。在这种情况下，最好的方式是直接从数据库中取出数据并用Lucene API建立索引。中文用户，可以参考 WebLucene 或者 车东 的一些列文章。如果需要中文分词帮助还可以联系作者。 http://domolo.oicp.net/bbs/list.asp?boardid=24 Erik Hatcher 和 Otis Gospodnetić&#8217;s 的 Lucene in Action 中详细讲述了这个过程。Nutch 适用于你无法直接获取数据库中的网站，或者比较分散的数据源的情况下使用。</p>
<p>架构</p>
<p>总体上Nutch可以分为2个部分：抓取部分和搜索部分。抓取程序抓取页面并把抓取回来的数据做成反向索引，搜索程序则对反向索引搜索回答用户的请求。抓取程序和搜索程序的接口是索引。两者都使用索引中的字段。（）</p>
<p>实际上搜索程序和抓取程序可以分别位于不同的机器上。（）</p>
<p>这里我们先看看Nutch的抓取部分。</p>
<p>抓取程序：</p>
<p>抓取程序是被Nutch的抓取工具驱动的。这是一组工具，用来建立和维护几个不同的数据结构： web database, a set of segments, and the index。下面我们逐个解释上面提到的3个不同的数据结构。</p>
<p>The web database, 或者WebDB, 是一个特殊存储数据结构，用来映像被抓取网站数据的结构和属性的集合。WebDB 用来存储从抓取开始（包括重新抓取）的所有网站结构数据和属性。WebDB 只是被 抓取程序使用，搜索程序并不使用它。WebDB 存储2种实体：页面 和 链接。页面 表示 网络上的一个网页，这个网页的Url作为标示被索引，同时建立一个对网页内容的MD5 哈希签名。跟网页相关的其它内容也被存储，包括：页面中的链接数量（外链接），页面抓取信息（在页面被重复抓取的情况下），还有表示页面级别的分数 score 。链接 表示从一个网页的链接到其它网页的链接。因此 WebDB 可以说是一个网络图，节点是页面，链接是边。</p>
<p>Segment 是 网页 的集合，并且它被索引。 Segment 的 Fetchlist 是抓取程序使用的 url 列表 ， 它是从 WebDB中生成的。Fetcher 的输出数据是从 fetchlist 中抓取的网页。Fetcher 的输出数据先被反向索引，然后索引后的结果被存储在segment 中。 Segment 的生命周期是有限制的，当下一轮抓取开始后它就没有用了。默认的 重新抓取间隔是30天。因此删除超过这个时间期限的segment是可以的。而且也可以节省不少磁盘空间。Segment 的命名是 日期加时间 ，因此很直观的可以看出他们的存活周期。</p>
<p>索引库 是 反向索引所有系统中被抓取的页面，他并不直接从页面反向索引产生，它是合并很多小的 segment 的索引中产生的。Nutch 使用 Lucene 来建立索引，因此所有 Lucene 相关的工具 API 都用来建立索引库。需要说明的是 Lucene 的 segment 的概念 和 Nutch 的 segment 概念是完全不同的，不要混淆哦。 可以参考 车东 的相关文章。 www.chedong.com 简单来说 Lucene 的 segment 是 Lucene 索引库的一部分，而 Nutch 的 Segment 是 WebDB 中 被 抓取和索引的一部分。</p>
]]></content:encoded>
			<wfw:commentRss>http://clfour.com/2008/09/nutch-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

