- 浏览: 4397155 次
- 性别:
- 来自: 湛江
博客专栏
-
SQLite源码剖析
浏览量:80019
-
WIN32汇编语言学习应用...
浏览量:69953
-
神奇的perl
浏览量:103276
-
lucene等搜索引擎解析...
浏览量:285495
-
深入lucene3.5源码...
浏览量:14999
-
VB.NET并行与分布式编...
浏览量:67479
-
silverlight 5...
浏览量:32088
-
算法下午茶系列
浏览量:45961
文章分类
最新评论
-
yoyo837:
counters15 写道目前只支持IE吗?插件的东西是跨浏览 ...
Silverlight 5 轻松开启绚丽的网页3D世界 -
shuiyunbing:
直接在前台导出方式:excel中的单元格样式怎么处理,比如某行 ...
Flex导出Excel -
di1984HIT:
写的很好~
lucene入门-索引网页 -
rjguanwen:
在win7 64位操作系统下,pygtk的Entry无法输入怎 ...
pygtk-entry -
ldl_xz:
http://www.9958.pw/post/php_exc ...
PHPExcel常用方法汇总(转载)
nutch-build.xm解读
花了很多时间来读这个build.xml,并不是这个包不好读,相反可读性非常强,这就是xml的好处.自己花了很多的时间
去熟悉ant!从Ant的task,type,nested element等一点一点读起.这样整个nutch的配置结构,我就了解的更加清楚了.
解下来的任务就是继续熟悉一下Javacc这个软件,在读一下它的api文档,下来的工作就是修改nutch了.
将build.xml的内容粘于此处.
<?xml version='1.0' encoding='GBK'?>
<!--如果出现汉字,请使用GBK编码-->
<project name="Nutch" default="compile">
<!--修改意见-->
<!--可以写一个deploy模块,把war文件拷贝到tomcat/webapps下面去,这部分文中没有涉及-->
<!-- Load all the default properties, and any the user wants -->
<!-- to contribute (without having to type -D or edit this file -->
<!--没有找到build.properties??-->
<!--properry为task-->
<property file="${user.home}/build.properties" />
<property file="${basedir}/build.properties" />
<property file="${basedir}/default.properties" />
<!-- the normal classpath -->
<!--build.classes下含有lib.dir下的所有的jar文件-->
<!--path-like structure,定义classpath-->
<path id="classpath">
<pathelement location="${build.classes}"/>
<!--fileset为type-->
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
</path>
<!-- the unit test classpath -->
<!--dirname为Task-->
<dirname property="plugins.classpath.dir" file="${build.plugins}"/>
<path id="test.classpath">
<pathelement location="${test.build.classes}" />
<pathelement location="${conf.dir}"/>
<pathelement location="${test.src.dir}"/>
<pathelement location="${plugins.classpath.dir}"/>
<!--使用前面定义的classpath-->
<path refid="classpath"/>
</path>
<!-- xmlcatalog definition for xslt task -->
<!--使用xmlcatalog type定义docDTDs-->
<xmlcatalog id="docDTDs">
<dtd publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"
location="${xmlcatalog.dir}/xhtml1-transitional.dtd"/>
</xmlcatalog>
<!-- ====================================================== -->
<!-- Stuff needed by all targets -->
<!-- ====================================================== -->
<target name="init">
<!--mkdir为task,创建用于build和test的目录-->
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
<mkdir dir="${test.build.dir}"/>
<mkdir dir="${test.build.classes}"/>
<!--将conf.dir中对应格式的文件修改时间设为datetime-->
<touch datetime="01/25/1971 2:00 pm">
<fileset dir="${conf.dir}" includes="**/*.template"/>
</touch>
<copy todir="${conf.dir}" verbose="true">
<fileset dir="${conf.dir}" includes="**/*.template"/>
<!--mapper为type,将*.template转为*-->
<mapper type="glob" from="*.template" to="*"/>
</copy>
</target>
<!-- ====================================================== -->
<!-- Compile the Java files -->
<!-- ====================================================== -->
<target name="compile" depends="compile-core, compile-plugins, jar"/>
<target name="compile-core" depends="init">
<!--将生成的class文件存入build/classes-->
<javac
encoding="${build.encoding}"
srcdir="${src.dir}"
includes="org/apache/nutch/**/*.java"
destdir="${build.classes}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<!--使用已经定义的classpath-->
<classpath refid="classpath"/>
</javac>
</target>
<target name="compile-plugins">
<!--执行src/plugin下面的build.xml,并且执行其中的deploytarget,不继承property-->
<ant dir="src/plugin" target="deploy" inheritAll="false"/>
</target>
<target name="generate-src" depends="init">
<!--使用javacc命令-->
<javacc target="${src.dir}/org/apache/nutch/quality/dynamic/PageDescription.jj"
javacchome="${javacc.home}">
</javacc>
<!--对NutchAnalysis.jj运行javacc,我们修改分词需要修改此接口-->
<javacc target="${src.dir}/org/apache/nutch/analysis/NutchAnalysis.jj"
javacchome="${javacc.home}">
</javacc>
<!--CR即为carriage(回车),LF即为Line Feed(换行)即将src.dir下的匹配文件eof以lf代替-->
<fixcrlf srcdir="${src.dir}" eol="lf" includes="**/*.java"/>
</target>
<target name="dynamic" depends="generate-src, compile">
</target>
<!-- ================================================================== -->
<!-- Make nutch.jar -->
<!-- ================================================================== -->
<!-- -->
<!-- ================================================================== -->
<target name="jar" depends="compile-core">
<!--将conf目录下的nutch-default.xml和nutch-site.xml拷入build文件目下-->
<copy file="${conf.dir}/nutch-default.xml"
todir="${build.classes}"/>
<copy file="${conf.dir}/nutch-site.xml"
todir="${build.classes}"/>
<!--将build/classes下的文件打包成jar-->
<jar
jarfile="${build.dir}/${final.name}.jar"
basedir="${build.classes}"
/>
<!--将生成的nutch-0.7.jar拷贝到根目录下命名为nutch.jar-->
<copy file="${build.dir}/${final.name}.jar" tofile="${basedir}/${name}.jar" />
</target>
<!-- ================================================================== -->
<!-- Make nutch.war -->
<!-- ================================================================== -->
<!-- -->
<!-- ================================================================== -->
<target name="war" depends="compile,generate-docs">
<!--war是一个task,将里面包含的所有的东西打包成一个war文件,如果需要修改前台的界面包括
nutch的logo等等,都要提前修改其中的一些图片,界面.最后打好包放到tomcat中-->
<war destfile="${build.dir}/${final.name}.war"
webxml="${web.src.dir}/web.xml">
<fileset dir="${web.src.dir}/jsp"/>
<zipfileset dir="${docs.src}" includes="include/*.html"/>
<zipfileset dir="${build.docs}" includes="*/include/*.html"/>
<fileset dir="${docs.dir}"/>
<lib dir="${lib.dir}">
<include name="lucene*.jar"/>
<include name="taglibs-*.jar"/>
<include name="dom4j-*.jar"/>
<include name="xerces-*.jar"/>
</lib>
<lib dir="${build.dir}">
<include name="${final.name}.jar"/>
</lib>
<classes dir="${conf.dir}" excludes="**/*.template"/>
<classes dir="${web.src.dir}/locale"/>
<zipfileset prefix="WEB-INF/classes/plugins" dir="${build.plugins}"/>
<webinf dir="${lib.dir}">
<include name="taglibs-*.tld"/>
</webinf>
</war>
</target>
<!-- ================================================================== -->
<!-- Compile test code -->
<!-- ================================================================== -->
<target name="compile-core-test" depends="compile-core">
<javac
encoding="${build.encoding}"
srcdir="${test.src.dir}"
includes="org/apache/nutch/**/*.java"
destdir="${test.build.classes}"
debug="${debug}"
deprecation="${deprecation}">
<!--使用先前定义的test.classpath-->
<classpath refid="test.classpath"/>
</javac>
</target>
<!-- ================================================================== -->
<!-- Run unit tests -->
<!-- ================================================================== -->
<target name="test" depends="test-core, test-plugins"/>
<target name="test-core" depends="compile, compile-core-test">
<delete dir="${test.build.data}"/>
<mkdir dir="${test.build.data}"/>
<!--使用nutch-site.xml-->
<copy file="${test.src.dir}/nutch-site.xml"
todir="${test.build.classes}"/>
<!--junit为一个task,支持nested element,譬如sysproperty,formatter,batchtest-->
<junit printsummary="yes" haltonfailure="no" fork="yes" dir="${basedir}"
errorProperty="tests.failed" failureProperty="tests.failed">
<sysproperty key="test.build.data" value="${test.build.data}"/>
<sysproperty key="test.src.dir" value="${test.src.dir}"/>
<classpath refid="test.classpath"/>
<formatter type="plain" />
<batchtest todir="${test.build.dir}" unless="testcase">
<fileset dir="${test.src.dir}"
includes="**/Test*.java" excludes="**/${test.exclude}.java" />
</batchtest>
<batchtest todir="${test.build.dir}" if="testcase">
<fileset dir="${test.src.dir}" includes="**/${testcase}.java"/>
</batchtest>
</junit>
<!--fail为task-->
<fail if="tests.failed">Tests failed!</fail>
</target>
<target name="test-plugins" depends="compile">
<ant dir="src/plugin" target="test" inheritAll="false"/>
</target>
<target name="nightly" depends="test, tar">
</target>
<!-- ================================================================== -->
<!-- Documentation -->
<!-- ================================================================== -->
<target name="javadoc" depends="compile">
<mkdir dir="${build.javadoc}"/>
<!--javadoc为task,支持nested element,譬如packageset,link,group-->
<javadoc
overview="${src.dir}/overview.html"
destdir="${build.javadoc}"
author="true"
version="true"
use="true"
windowtitle="${Name} ${version} API"
doctitle="${Name} ${version} API"
bottom="Copyright &copy; ${year} The Apache Software Foundation"
>
<packageset dir="${src.dir}"/>
<packageset dir="${plugins.dir}/protocol-file/src/java"/>
<packageset dir="${plugins.dir}/protocol-ftp/src/java"/>
<packageset dir="${plugins.dir}/protocol-http/src/java"/>
<packageset dir="${plugins.dir}/protocol-httpclient/src/java"/>
<packageset dir="${plugins.dir}/parse-html/src/java"/>
<packageset dir="${plugins.dir}/parse-js/src/java"/>
<packageset dir="${plugins.dir}/parse-text/src/java"/>
<packageset dir="${plugins.dir}/parse-pdf/src/java"/>
<!--<packageset dir="${plugins.dir}/parse-rtf/src/java"/> plugin excluded from build due to licensing issues-->
<!--<packageset dir="${plugins.dir}/parse-mp3/src/java"/> plugin excluded from build due to licensing issues-->
<packageset dir="${plugins.dir}/parse-msword/src/java"/>
<packageset dir="${plugins.dir}/index-basic/src/java"/>
<packageset dir="${plugins.dir}/index-more/src/java"/>
<packageset dir="${plugins.dir}/query-more/src/java"/>
<packageset dir="${plugins.dir}/urlfilter-regex/src/java"/>
<packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/>
<packageset dir="${plugins.dir}/creativecommons/src/java"/>
<packageset dir="${plugins.dir}/languageidentifier/src/java"/>
<packageset dir="${plugins.dir}/clustering-carrot2/src/java"/>
<packageset dir="${plugins.dir}/ontology/src/java"/>
<link href="${javadoc.link.java}"/>
<link href="${javadoc.link.lucene}"/>
<classpath refid="classpath"/>
<classpath>
<fileset dir="${plugins.dir}" >
<include name="**/*.jar"/>
</fileset>
</classpath>
<group title="Core" packages="org.apache.nutch.*"/>
<group title="Plugins" packages="${plugins.packages}"/>
</javadoc>
</target>
<target name="default-doc">
<!--style即xslt命令,使用xsl文件解析xml-->
<style basedir="${conf.dir}" destdir="${docs.dir}"
includes="nutch-default.xml" style="conf/nutch-conf.xsl"/>
</target>
<target name="generate-locale" if="doc.locale">
<echo message="Generating docs for locale=${doc.locale}"/>
<mkdir dir="${build.docs}/${doc.locale}/include"/>
<xslt in="${docs.src}/include/${doc.locale}/header.xml"
out="${build.docs}/${doc.locale}/include/header.html"
style="${docs.src}/style/nutch-header.xsl">
<xmlcatalog refid="docDTDs"/>
</xslt>
<dependset>
<srcfileset dir="${docs.src}/include/${doc.locale}" includes="*.xml"/>
<srcfileset dir="${docs.src}/style" includes="*.xsl"/>
<targetfileset dir="${docs.dir}/${doc.locale}" includes="*.html"/>
</dependset>
<copy file="${docs.src}/style/nutch-page.xsl"
todir="${build.docs}/${doc.locale}"
preservelastmodified="true"/>
<xslt basedir="${docs.src}/pages/${doc.locale}"
destdir="${docs.dir}/${doc.locale}"
includes="*.xml"
style="${build.docs}/${doc.locale}/nutch-page.xsl">
<xmlcatalog refid="docDTDs"/>
</xslt>
</target>
<target name="generate-docs" depends="init">
<dependset>
<srcfileset dir="${docs.src}/include" includes="*.html"/>
<targetfileset dir="${docs.dir}" includes="**/*.html"/>
</dependset>
<mkdir dir="${build.docs}/include"/>
<copy todir="${build.docs}/include">
<fileset dir="${docs.src}/include"/>
</copy>
<!--antcall为task,调用generate-locale,并将相应的参数传递过去-->
<antcall target="generate-locale">
<param name="doc.locale" value="ca"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="de"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="en"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="es"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="fi"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="fr"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="hu"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="jp"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="ms"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="nl"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="pl"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="pt"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="sv"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="th"/>
</antcall>
<antcall target="generate-locale">
<param name="doc.locale" value="zh"/>
</antcall>
<fixcrlf srcdir="${docs.dir}" eol="lf" encoding="utf-8"
includes="**/*.html"/>
</target>
<!-- ================================================================== -->
<!-- D I S T R I B U T I O N -->
<!-- ================================================================== -->
<!-- -->
<!-- ================================================================== -->
<!--将所有的东西,包括.jar,.war等文件都拷贝到dist目录中-->
<target name="package" depends="jar, war, javadoc">
<mkdir dir="${dist.dir}"/>
<mkdir dir="${dist.dir}/lib"/>
<mkdir dir="${dist.dir}/bin"/>
<mkdir dir="${dist.dir}/docs"/>
<mkdir dir="${dist.dir}/docs/api"/>
<mkdir dir="${dist.dir}/plugins"/>
<copy todir="${dist.dir}/lib" includeEmptyDirs="false">
<fileset dir="lib"/>
</copy>
<copy todir="${dist.dir}/plugins">
<fileset dir="${build.plugins}"/>
</copy>
<copy file="${build.dir}/${final.name}.jar" todir="${dist.dir}"/>
<copy file="${build.dir}/${final.name}.war" todir="${dist.dir}"/>
<copy todir="${dist.dir}/bin">
<fileset dir="bin"/>
</copy>
<copy todir="${dist.dir}/conf">
<fileset dir="${conf.dir}" excludes="**/*.template"/>
</copy>
<chmod perm="ugo+x" type="file">
<fileset dir="${dist.dir}/bin"/>
</chmod>
<copy todir="${dist.dir}/docs">
<fileset dir="${docs.dir}"/>
</copy>
<copy todir="${dist.dir}/docs/api">
<fileset dir="${build.javadoc}"/>
</copy>
<copy todir="${dist.dir}">
<fileset dir=".">
<include name="*.txt" />
</fileset>
</copy>
<copy todir="${dist.dir}/src" includeEmptyDirs="false">
<fileset dir="src"/>
</copy>
<copy todir="${dist.dir}/" file="build.xml"/>
<copy todir="${dist.dir}/" file="default.properties"/>
</target>
<!-- ================================================================== -->
<!-- Make release tarball -->
<!-- ================================================================== -->
<!--打包成压缩文件-->
<target name="tar" depends="package">
<tar compression="gzip" longfile="gnu"
destfile="${build.dir}/${final.name}.tar.gz">
<tarfileset dir="${build.dir}" mode="664">
<exclude name="${final.name}/bin/*" />
<include name="${final.name}/**" />
</tarfileset>
<tarfileset dir="${build.dir}" mode="755">
<include name="${final.name}/bin/*" />
</tarfileset>
</tar>
</target>
<!-- ================================================================== -->
<!-- Clean. Delete the build files, and their directories -->
<!-- ================================================================== -->
<target name="clean">
<delete dir="${build.dir}"/>
<delete failonerror="true" file="${name}.jar" />
</target>
</project>
发表评论
-
lucene3.5之Bits
2012-03-27 17:23 1691package org.apache.lucene.util; ... -
lucene3.5之SmallFloat
2012-03-26 09:21 2360package org.apache.lucene.util; ... -
lucene 3.5之SimpleStringInterner
2012-03-23 10:25 2121public class SimpleStringIntern ... -
lucene3.5之ToStringUtils
2012-03-22 17:25 1748package org.apache.lucene.util; ... -
lucene3.5之StringHelper
2012-03-21 14:54 1761这个类主要是完成2个功能: 1、版本号比较 2、生成字符串实例 ... -
lucene3.5之StringInterner
2012-03-21 12:15 1903首先讲解关于java的intern public String ... -
lucene的until包当前lucene的版本号
2012-03-21 11:54 3144首先介绍一下Java中枚举实现: public enum C ... -
LucenePackage 包获取当前lucene包信息
2012-03-21 11:16 1962package org.apache.lucene; /** ... -
linux下的简单中文分词器-dpSegmentation
2010-09-19 15:34 3181deepfuture简单中文分词器(deepfuture ... -
搜狗实验室(Sogou Labs)
2010-03-15 09:49 2872http://www.sogou.com/labs/ 搜狗实 ... -
搜索引擎开发lucene-笔者博客的大部分lucene习作源码
2010-03-01 20:36 6095有一个小小较完整的实例,详见说明.txt 见附件,解压密码: ... -
搜索引擎中网络爬虫的设计分析(转)
2010-02-21 11:56 2045说的简单易懂一些,网络爬虫跟你使用的〖离线阅读〗工具差不多。说 ... -
lucene-内存索引、内存索引保存在硬盘、索引优化
2010-01-19 21:25 5370索引代码 package bindex; ... -
lucene-索引的优化和索引过程查看
2009-12-23 14:39 1734代码:(索引建立) package bindex; ... -
lucene-索引信息、索引删除、索引删除恢复、索引物理删除
2009-12-23 14:39 2658代码: package bindex; import ja ... -
lucene-内存索引、内存索引保存在硬盘、索引优化
2009-12-23 16:41 1532索引代码 package bindex; import j ... -
lucene-索引文件格式
2009-12-23 16:43 1865索引文件结构 Lucene使 ... -
lucene-对每个字段指定分析器及较复杂搜索页面(对QQ国内新闻搜索)
2009-12-23 16:47 46161、 JAVA代码(索引) package bindex; ... -
lucene-使用lius解析html
2009-12-23 16:53 55391、代码 package liusextract; imp ... -
lucene-使用lius解析pdf、ppt、rtf、txt、xml
2009-12-23 16:54 24111、代码 package liusextract; imp ...
相关推荐
5. **配置文件**:如 `conf/nutch-default.xml` 和 `conf/nutch-site.xml`,分别包含 Nutch 的默认配置和用户自定义配置。 6. **抓取策略**:Nutch 支持基于链接的抓取策略,如 PR(PageRank)和 TF-IDF(Term ...
nutch配置nutch-default.xml
在“apache-nutch-1.7-src.tar.gz”这个压缩包中,你将获得Nutch 1.7的源代码,这使得开发者可以深入了解其工作原理,并对其进行定制和扩展。解压后的文件夹“apache-nutch-1.7”包含了所有必要的组件和配置文件。 ...
在这个"apache-nutch-1.4-bin.tar.gz"压缩包中,包含了运行 Nutch 的所有必要组件和配置文件,适合初学者和开发者快速部署和实验。 **Nutch 的核心组成部分:** 1. **爬虫(Spider)**:Nutch 的爬虫负责在网络中...
nutch不用安装,是个应用程序,下载后为nutch-1.6.tar.gz,双击桌面上的cygwin快捷方式;执行以下命令: $ cd D:/Downloads/Soft $ tar zxvf nutch-1.0.tar.gz 在e盘下面出现nutch-0.9文件夹说明解压成功了.然后环境...
这个源码包 "apache-nutch-1.3-src.tar.gz" 和 "nutch-1.3.tar.gz" 包含了 Nutch 1.3 的源代码和编译后的二进制文件,对于开发者和研究者来说是非常有价值的资源。 **Nutch 概述** Nutch 是基于 Java 开发的,遵循 ...
nutch官方简单案例,请版本是nutch-1.2.war
- 接着,`NutchConfiguration`会调用`addNutchResources(conf)`方法,向`Configuration`对象添加Nutch自己的配置资源,如`Nutch-default.xml`和用户定义的`Nutch-site.xml`,这里的`Nutch-site.xml`会覆盖`Nutch-...
- **XML配置与XML Schema**:了解如何解读和修改Nutch的配置文件,理解`nutch-site.xml`的结构和作用。 - **Java编程**:源码阅读和开发需要基本的Java编程技能,特别是对多线程和网络编程的理解。 - **Ant构建工具*...
Nutch是一款刚刚诞生的完整的开源搜索引擎系统,可以结合数据库进行索引,能快速构建所需系统。Nutch 是基于Lucene的,Lucene为 Nutch 提供了文本索引和搜索的API,所以它使用Lucene作为索引和检索的模块。Nutch的...
4. **配置与部署**:解压 "apache-nutch-1.9" 文件后,需要根据你的环境配置`conf/nutch-site.xml`文件,设置包括抓取间隔、并发度、存储路径等参数。同时,可能还需要配置`conf/regex-urlfilter.txt`和`conf/...
1. **导入项目**:首先,你需要在Eclipse或IDEA中创建一个新的Java项目,然后将解压后的`apache-nutch-1.16`目录作为项目的根目录导入。在IDE中,这通常通过"Import Existing Project"或"Open Project"功能完成。 2...
apache-nutch-1.4-bin.tar.gz.part2
在编译`Nutch`项目时,可能需要依赖各种`jar`库,包括`rtf-parse.jar`和`jid3lib-0.5.4.jar`,因为`Nutch`可能需要处理包含RTF格式的网页或者抓取的MP3等音频文件。 `rtf-parse.jar`和`jid3lib-0.5.4.jar`在`Nutch`...
apache-nutch-1.4-bin.tar.gz.part1
nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...
nutch-1.0-dev.jar nutch devlope
Nutch是一个由Java实现的,...-rwx------+ 1 nutch-1.2.jar -rwx------+ 1 nutch-1.2.job -rwx------+ 1 nutch-1.2.war drwx------+ 61 plugins drwx------+ 10 src -rwx------+ 1 url.txt drwx------+ 8 webapps
apache-nutch-1.4-bin.part2