Linux下的Nutch和solr集成

3.1.Nutch安装

l 解压 tar -zxvf apache-nutch-1.4-bin.tar.gz

l 终端下cd到目录  apache-nutch-1.4-bin/runtime/local,下面会有

bin  conf   lib  logs   plugins  test 几个文件夹

l 输入命令   bin/nutch ,如果出现下面的提示,说明nutch可用。可能会出现权限不够的提示,chmod 755 bin/nutch ,付给nutch执行权限。

l 继续测试,输入bin/nutch crawl,如果提示Error: JAVA_HOME is not set. 说明计算机或者没有安装jdk或者没有设定环境变量。你可以在终端输入javac,如果没有提示安装,说明已有jdk,问题就出在环境变量那。如果提示你安装,说明你还没装jdk。按照提示安装一个,比如openjdk-6-jdk,安装 sudo apt-get install openjdk-6-jdk。这是可在终端输入java -version

sunny@ubuntu:~$ java -version

java version "1.6.0_24"

OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.11.04.1)

OpenJDK Server VM (build 20.0-b12, mixed mode)

说明jdk安装成功。

l 此时再输入bin/nutch crawl 会出现crawl的参数形式,Usage: Crawl <urlDir> -solr <solrURL> [-dir d] [-threads n] [-depth i] [-topN N]

其中,

urlDir就是种子url的目录地址

-solr <solrUrl>为solr的地址(如果没有则为空)

-dir 是保存爬取文件的目录

-threads 是爬取线程数量(默认10)

-depth 是爬取深度 (默认5)

-topN 是访问的广度 (默认是Long.max)

l 配置nutch-site.xml文件。在local/conf目录下找到。在conf/nutch-site.xml文件中添加你的代理名字

<property>

<name>http.agent.name</name>

<value>My Nutch Spider</value>

</property>

l 创建一个urls文件夹,mkdir -p urls 然后进入文件夹,创建一个文本文件seed.txt。touch seed.txt。在文件中写入http://nutch.apache.org/它是我们想要抓取的网站。注意最后一个/,还有http://www.163.com/,一般都是这么写的格式。

l 然后编辑conf/regex-urlfilter.txt把

# accept anything else

+.

替换成

+^http://([a-z0-9]*\.)*nutch.apache.org/

这样他只会抓取nutch.apache.org域名里面的网页。

+^http://([a-z0-9]*\.)*163\.com/

也可以写成+^http://([a-z0-9]*\.)*通用格式。

l   bin/nutch crawl urls -dir crawl -depth 3 -topN 5(crawl.sh)

运行完成后你将看到这些目录产生了。Crawl代表爬完的结果存的路径。

crawl/crawldb

crawl/linkdb

crawl/segments

三个文件夹crawldb linkdb segments,其中crawldb是所有需要爬取的超链接,Linkdb 中存放的是所有超连接及其每个连接的链入地址和锚文本,segments存放的是抓取的页面,以爬取的时间命名,个数不多于爬取的深度,Nutch的爬取策略是广度优先,每一层url生成一个文夹夹,直到没有新的url。在segments有6个文件夹,

crawl_generate : names a set of urls to be fetched(待爬取的url)

crawl_fetch : contains the status of fetching each url(爬取的url的状态)

content : contains the content of each url(页面内容)

parse_text : contains the parsed text of each url(网页的文本信息)

parse_data : contains outlinks and metadata parsed from each url(url解析出来的外链和元数据)

crawl_parse : contains the outlink urls, used to update the crawldb(更信crawldb的外链)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

3.2. 集成

l 复制nutch的conf目录中的schema_solr4.xml(注意是4.0那个)文件到solr/conf目录(覆盖掉 主要的那个文件 即可。Conf)

l 修改solr/conf/solrconfig.xml,将里面所有的<str name="df">text</str>都替换为<str name="df">content</str>

l 修改schema.xml先搜索boost,在那里加入 _version_的内容。

l 重启solr,运行solr索引命令

bin/nutch solrindex http://localhost:8983/solr/ crawl/crawldb -linkdb crawl/linkdb crawl/segments/* (indexsolr/sh)

l 导入ok,即可查询。

网址:http://localhost:8983/solr/collection1/browse  见这里的说明

nutch和solr集成的更多相关文章

  1. Nutch搜索引擎Solr简介及安装

    Nutch搜索引擎(第2期)_ Solr简介及安装   1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的 ...

  2. 【Nutch2.2.1基础教程之2.2】集成Nutch/Hbase/Solr构建搜索引擎之二:内容分析

    请先参见"集成Nutch/Hbase/Solr构建搜索引擎之一:安装及运行",搭建测试环境 http://blog.csdn.net/jediael_lu/article/deta ...

  3. 【Nutch2.2.1基础教程之2.1】集成Nutch/Hbase/Solr构建搜索引擎之一:安装及运行【单机环境】

    1.下载相关软件,并解压 版本号如下: (1)apache-nutch-2.2.1 (2) hbase-0.90.4 (3)solr-4.9.0 并解压至/usr/search 2.Nutch的配置 ...

  4. solr集成mmseg4j分词

    solr集成mmseg4j分词 mmseg4j https://code.google.com/p/mmseg4j/ https://github.com/chenlb/mmseg4j-solr 作者 ...

  5. 玩转大数据系列之Apache Pig如何与Apache Solr集成(二)

    散仙,在上篇文章中介绍了,如何使用Apache Pig与Lucene集成,还不知道的道友们,可以先看下上篇,熟悉下具体的流程. 在与Lucene集成过程中,我们发现最终还要把生成的Lucene索引,拷 ...

  6. apache-hadoop-1.2.1、hbase、hive、mahout、nutch、solr安装教程

    1 软件环境: VMware8.0 Ubuntu-12.10-desktop-i386 jdk-7u40-linux-i586.tar.gz hadoop-1.2.1.tar.gz eclipse-d ...

  7. Solr集成IK中文分词器

    1.将IKAnalyzer-2012-4x.jar拷贝到example\solr-webapp\webapp\WEB-INF\lib下: 2.在schema.xml文件中添加fieldType: &l ...

  8. 全文检索Solr集成HanLP中文分词

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  9. Solr 集成ikanalyzer

    Solr 不能对中文进行分词,ikanalyzer可以. ikanalyzer下载链接 1.下载 jar形式 2.放到D:\soft\solr-8.1.0\server\solr-webapp\web ...

随机推荐

  1. rman catalog (rman 恢复目录)

    受控制文件大小的限制,一般rman需要用rman catalog来管理及存放备份信息: 这里介绍一下创建rman catalog的步骤: C:\Documents andSettings\Admini ...

  2. 【iOS】Resumable Doanloads(断点下载)

    这里我们只讨论iOS平台下的通用app,我们可以自己写代码来实现resume downloads,解释如下. resume一个HTTP下载不难,但必须要理解一些关键的HTTP概念: entity ta ...

  3. 让linux(centos)支持中文文件和文件夹

    一.让linux支持中文 1.将Linux的env设置了LANG=en_US.UTF-8: 2.本地的Shell客户端编码也设置成UTF-8,这样让在windows上传到linux的文件或者目录不会出 ...

  4. 95秀-PullToRefreshListView 示例

        正在加载.暂无数据页面 public class RefreshGuideTool {     private RelativeLayout rl_loading_guide;//整个View ...

  5. 秒味课堂Angular js笔记------$scope.$watch和$scope.$apply

    $scope.$watch(watchFn , watchAction , deepWatch) 其中,watchFn是带有angular表达式或函数字符串: watchAction是一个函数或者表达 ...

  6. JS类百度的动态提示框思路及完成

    参考的代码来自这里: http://www.jb51.net/article/28075.htm 不过说实话,这个网站太烂了,不适合看代码,另外写代码的人是个大牛,但是却没有模块化思想,所以朕不高兴直 ...

  7. rsync从windows到linux的同步备份

    名称 角色 IP地址 Windows server 2003 服务器 Eth0:192.168.1.1 RHEL5.5 客户端 Eth0:192.168.1.2   一.cwRsyncServer服务 ...

  8. 【转】深入理解Java内存模型(三)——顺序一致性

    数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...

  9. securecrt简介

    SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧 VanDyke CRT 和 VanDyk ...

  10. 汇编test和cmp区别

    来自http://tunps.com/assembly-test-and-cmp 看过破解教程,都知道test,cmp是比较关键,可是我一直不清楚它们究竟是怎么比较的,最后下决心找了很多资料,和大家一 ...