`
backsnow
  • 浏览: 132045 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

集成nutch和solr,并加入中文分词的过程

阅读更多
  1. 准备工作
  2. 安装nutch
  3. 安装solr
  4. 加入中文分词
  5. 运行

1.准备工作

首先安装好jdk和tomcat,我安装的是sun-java6-jdk,注意tomcat的用户最好改成正在使用的用户(有时候在当前用户修改环境变量时,tomcat如果是root用户,可能不会载入该环境变量)

 

2.安装nutch

我下载的是src版本,下载后解压,进入NUTCH目录,并用ant命令编译.

 

建立urls入口地址:mkdir urls; echo "http://***"> seed.txt

 

加入过滤网址:vim conf/crawl-urlfilter.txt,写入过滤规则,注意每一行开头不能有空格,否则在测试时会报异常或者错误 (该目录下的regex-urlfilter.txt也有类似的作用,但是如何设置在有需要时再研究)

 

测试 "Usage: bin/nutch Crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN N]  [-solr solrURL]"

Crawl命令相当于是inject, generate,fecth,parse,update,invertlinks等命令的组合使用,具体见源码.使用细节见scholr_search/books/nutch.pdf

 

3.安装solr

下载solr.1.4.1,解压

 

进入solr目录(我解压在/test-solr位置)

 

测试example是否能正常运行: cd example ;  java -jar start.jar

 

将$NUTCH_DIR/conf/schema.xml拷到/test-solr/example/solr/conf/schema.xml,并且将content对应的的stored标记改为true.

 

测试的example默认是利用jetty容器,在实际使用时,我改为利用tomcat容器,只需要建立一个映射,给出webapps和solr的主目录:

cd $TOMCAT_HOME/conf/Catalina/localhost/

vim test-solr.xml

"""

test-solr.xml的内容为:

<Context docBase="/test-solr/example/webapps/solr.war" debug="0" crossContext="true" >

    <Environment name="solr/home" type="java.lang.String" value="/test-solr/example/solr" override="true" /> 
   </Context>

"""

$TOMCAT_HOME/bin/startup.sh

"""

然后打开浏览器,输入http://localhost:8080/test-solr/admin

"""


4.加入中文分词

我在建立solr工程时遇到了麻烦,折腾了三天未果,只好利用别人已经写好的paoding-analysis.jar和chinese-tokenizer.jar. 步骤为:

 

unzip solr.war

 

修改

test-solr.xml的内容为:

<Context docBase="/test-solr/example/webapps/solr" debug="0" crossContext="true" >

    <Environment name="solr/home" type="java.lang.String" value="/test-solr/example/solr" override="true" /> 
   </Context>

 

"""

解压的缘故是两个jar包需要加入到WEB-INF/lib目录下,这个目录解压后才会看到

"""

cp $DIR/paoding-analysis.jar /test-solr/example/webapps/solr/WEB-INF/lib/

cp $DIR/chinese-tokenizer.jar /test-solr/example/webapps/solr/WEB-INF/lib/

 

vim /test-solr/example/solr/conf/schema.xml

"""

将type=text 处改为

<!--      <tokenizer class="solr.WhitespaceTokenizerFactory"/>-->
             <tokenizer class="com.scholat.ChineseTokenizerFactory" mode="most-words"/>

 

有的文章加入对query的修改,是因为将index和query的analyzer分开了,这里省略了analyzer标签,应该默认将两者都修改了。
"""

 

在/nutch-1.2目录下运行:

bin/nutch crawl urls -dir towns -depth 10 -threads 10 -topN 10 -solr http://localhost:8080/test-solr

(或者分开运行:

bin/nutch crawl urls -dir towns -depth 10 -threads 10 -topN 10

bin/nutch solrindex http://localhost:8080/test-solr towns/crawldb/ towns/linkdb/ towns/segments/*)

 

整个过程完成,可以通过http://localhost:8080/test-solr/admin 访问.

分享到:
评论
2 楼 backsnow 2011-03-10  
另外,修改regex-urlfilter.txt
1 楼 backsnow 2011-03-10  
还要记得改nutch-site.xml

相关推荐

    Apache Nutch 1.7 学习总结

    本文将详细介绍在Windows和Linux环境下如何搭建Nutch 1.7,并探讨如何将其与Solr集成使用。 **Nutch 在 Windows 下的搭建过程** 1. **准备工作** - 检查系统需求:确保你的Windows系统满足运行Java开发环境(JDK...

    apache-nutch

    2. **分词与分析**:Nutch 使用开源的LUCENE库进行分词和分析,支持中文等多语言处理。 3. **索引优化**:Nutch 提供了多种索引策略,如增量索引、定期全量索引等,以适应不同场景需求。 4. **倒排索引**:Nutch ...

    Nutch入门教程 高清 带书签

    这个“Nutch入门教程 高清 带书签”的资源,很显然是为了帮助初学者快速理解并掌握Nutch的基本操作和核心概念。下面,我们将深入探讨Nutch的相关知识点。 一、Nutch简介 Nutch是一个强大的Web爬虫框架,它提供了从...

    分享一个Nutch入门学习的资料

    “工具”标签则暗示这份资料可能包含了一些辅助工具或者插件的使用,比如如何使用Nutch与Solr或Elasticsearch集成来构建搜索引擎,或者如何使用Nutch的命令行工具进行数据处理。 压缩包中的“Nutch.pdf”可能是...

    搭建nutch web开发环境

    总的来说,搭建Nutch Web开发环境是一个涉及多组件集成的过程,需要对Java、Maven、Hadoop和Solr有一定的了解。通过这个过程,你可以深入理解搜索引擎背后的工作原理,并为自己的应用定制合适的搜索解决方案。

    分布式搜索引擎nutch开发

    Nutch是一款开源的、基于Java实现的全文搜索引擎,它主要用于构建大规模的网络爬虫系统,并提供了对抓取的网页进行索引和搜索的功能。Nutch与Hadoop紧密集成,能够充分利用分布式计算的优势,处理海量数据。在本篇中...

    apache-nutch-1.5.1

    8. **可与其他系统集成**:Nutch 可以与Solr或Elasticsearch等搜索平台集成,提供更高级的搜索功能,如 faceted search(分面搜索)和实时搜索。 在使用 Apache Nutch 1.5.1 时,你需要关注的几个关键点包括配置...

    nutch爬虫资料

    此外,还可能探讨Nutch与其他大数据工具如Solr或Elasticsearch的集成,用于构建全文搜索引擎。 关于Java编程,Nutch的开发依赖于Java,因此理解Java基础和多线程编程是必要的。Nutch的很多核心功能都是基于Java的...

    apache-nutch-1.4

    - **Solr和Elasticsearch**:Nutch可以与Apache Solr或Elasticsearch集成,提供高性能的搜索功能。 - **HBase**:Nutch也可与HBase结合,用于存储和检索大规模数据。 7. **社区支持** - **文档**:Nutch项目提供...

    Nutch 使用总结

    集成过程通常涉及设置Nutch的输出格式和Solr的输入格式,以及配置Solr的schema.xml文件以匹配Nutch的字段。 在使用Nutch的过程中,开发者需要注意的问题包括: - 确保URL的合法性,避免陷入死循环或抓取无效链接。 ...

    apache-nutch的源码

    8. **集成其他系统**:Nutch不仅可以与Solr或Elasticsearch等搜索引擎集成,也可以与其他数据分析工具如HBase、Spark等配合使用,实现更复杂的业务需求。 9. **学习资源**:Apache Nutch的官方文档、社区论坛以及...

    java Nutch项目

    Nutch不仅适用于构建独立的搜索引擎,还可以与其他大数据工具(如Solr、HBase)集成,构建更复杂的信息检索系统。此外,Nutch也是研究搜索引擎算法和Web数据挖掘的理想平台。 6. **学习资源与社区支持** 由于...

    apach-nutch-1.9-bin.tar.gz

    6. **Nutch 与其他组件集成**:尽管Nutch 1.9不直接支持HBase,但它可以与Solr或Elasticsearch等搜索服务器集成,提供更高级的搜索功能。你还可以通过Hadoop MapReduce进一步扩展Nutch的功能。 7. **优化与监控**:...

    apache-nutch-1.13-src.zip_nutch_网络爬虫

    此外,了解 Lucene 和 Solr 对于理解索引和搜索过程也很重要。通过阅读源代码和运行示例,你将能够掌握网络爬虫的基本工作流程,以及如何在实际项目中应用这些技术。 总的来说,Apache Nutch 是一个强大且灵活的...

    apache-nutch-1.4-bin.tar.gz

    Nutch 可以与多种存储和索引系统集成,如Apache Solr 和Hadoop HDFS。 6. **搜索接口(Search Interface)**:提供API或Web界面,让用户可以输入查询并返回相关的搜索结果。 **Nutch 1.4 版本特点:** - **改进的...

    Nutch 是一个开源Java 实现的搜索引擎(学习资料)----下载不扣分,回帖加1分,童叟无欺,欢迎下载 。不下也来看看啊!!

    同时,Nutch还与Apache Solr或Elasticsearch等搜索平台集成,提供更高级的搜索特性,如 faceted search(分面搜索)和实时搜索。 学习Nutch,你需要掌握以下知识点: 1. **Java编程基础**:由于Nutch是用Java编写...

    lucene+nutch搜索引擎开发源码1

    《lucene+nutch搜索引擎开发源码1》是一个包含开源搜索引擎项目Lucene和Nutch源代码的压缩包,主要针对搜索引擎开发的学习和实践。这个压缩包是书籍《lucene+nutch搜索引擎开发》的一部分,由于源码量较大,因此分为...

    solr基本总结

    - **高度可扩展性**:Solr 设计灵活,易于集成新功能和进行定制化开发。 #### 二、Solr 的缺点 尽管 Solr 拥有许多优点,但它也有一些局限性: - **内存占用问题**:由于 Solr 主要依赖于索引,因此在某些情况下...

Global site tag (gtag.js) - Google Analytics