文档章节

CentOS 6.5+Nutch 1.7+Solr 4.7+IK 2012

VictorHu
 VictorHu
发布于 2015/11/06 12:56
字数 862
阅读 11
收藏 0
点赞 0
评论 0

环境


Linux版本:CentOS 6.5
JDK版本:JDK 1.7
Nutch版本:Nutch 1.7
Solr版本:Solr 4.7
IK版本:IK-Analyzer 2012

内容


1.安装JDK

1.1 在/usr/下创建java/目录,下载JDK包并解压

[root@localhost ~]# mkdir /usr/java 
[root@localhost ~]# cd /usr/java
[root@localhost ~]# curl -O http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz
[root@localhost java]# tar –zxvf jdk-7u75-linux-x64.gz

1.2 设置环境变量

[root@localhost java]# vi /etc/profile

添加以下内容:

#set JDK environment
JAVA_HOME=/usr/java/jdk1.7.0_75
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOMECLASS_PATH PATH

使修改生效:

[root@localhost java]# source /etc/profile 

1.3 验证

[root@localhost java# java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

2.安装Solr

2.1 在/usr/下创建solr目录,下载Solr安装包并解压

[root@localhost ~]# mkdir /usr/solr
[root@localhost ~]# cd /usr/solr
[root@localhost solr]# curl -O http://archive.apache.org/dist/lucene/solr/4.7.0/solr-4.7.0.tgz
[root@localhost solr]# tar –zxvfsolr-4.7.0.tgz

2.2 启动Jetty

这里使用Solr自带的Jetty服务器

[root@localhost solr]# cd solr-4.7.0/example
[root@localhost example]# java -jar start.jar

2.3 验证

在浏览器输入:http://10.192.87.198:8983/solr#/collection1/query

3.为Solr配置IK分词

3.1 下载IK-Analyzer-2012

解压之后,将IKAnalyzer.cfg.xml、IKAnalyzer2012_FF.jar、stopword.dic三个文件上传到/usr/solr/solr-4.7.0/example/solr-webapp/webapp/WEB-INF/lib/目录下

3.2 修改/usr/solr/solr-4.7.0/example/solr/collection1/conf/schema.xml配置文件

[root@localhost solr]# cd /usr/solr/solr-4.7.0/example/solr/collection1/conf/
[root@localhost solr]# vi schema.xml

<type></types>中增加如下内容:

<fieldTypename="text_ik" class="solr.TextField">
<analyzer type="index"isMaxWordLength="false"class="org.wltea.analyzer.lucene.IKAnalyzer"/>
 <analyzer type="query"isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

3.3 验证

重启Solr,打开http://10.192.87.198:8983/solr/#/collection1/analysis,测试一下:

分词结果:

4.安装Nutch

4.1 在/usr/下创建nutch目录,下载Nutch安装包并解压

[root@localhost ~]# mkdir /usr/nutch
[root@localhost ~]# cd /usr/nutch
[root@localhost nutch]# curl -O http://archive.apache.org/dist/nutch/1.7/apache-nutch-1.7-bin.tar.gz
[root@localhost nutch]# tar –zxvf apache-nutch-1.7-bin.tar.gz

4.2 修改nutch-site.xml配置文件

[root@localhost nutch]# cd apache-nutch-1.7/conf
[root@localhost conf]# vi nutch-site.xml

<configuration>..</configuration>中添加字段,如下:

<configuration>
  <property>
    <name>http.agent.name</name>
    <value>Friendly Crawler</value>
  </property>
  <property>
    <name>parser.skip.truncated</name>
    <value>false</value>
  </property>
</configuration>

4.3 修改regex-urlfilter.txt文件,设置过滤规则

[root@localhost conf]# vi nutch-site.xml

这里是以正则表达式匹配你希望爬取的网站的地址。 如下面例子,用正则表达式来限制爬虫的范围仅限于sohu.com这个域 修改前:

+.

修改后:

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

4.4 设定所要爬取的网站

[root@localhost conf]# cd /usr/nutch/apache-nutch-1.7
[root@localhost apache-nutch-1.7]# mkdir urls
[root@localhost apache-nutch-1.7]# echo "http://www.sohu.com">urls/seed.txt

4.5 执行命令,进行爬取

[root@localhost apache-nutch-1.7]# bin/nutch crawl urls -dir crawl -depth 2 -topN 5

使用tree查看/usr/nutch/apache-nutch-1.7/crawl目录

[root@localhost apache-nutch-1.7]# tree crawl/
crawl/
├── crawldb
│   ├── current
│   │   └── part-00000
│   │       ├── data
│   │       └── index
│   └── old
│       └── part-00000
│           ├── data
│           └── index
├── linkdb
│   └── current
│       └── part-00000
│           ├── data
│           └── index
└── segments
    ├── 20150326234924
    │   ├── content
    │   │   └── part-00000
    │   │      ├── data
    │   │      └── index
    │   ├── crawl_fetch
    │   │   └── part-00000
    │   │      ├── data
    │   │      └── index
    │   ├── crawl_generate
    │   │   └── part-00000
    │   ├── crawl_parse
    │   │   └── part-00000
    │   ├── parse_data
    │   │   └── part-00000
    │   │      ├── data
    │   │      └── index
    │   └── parse_text
    │      └── part-00000
    │          ├── data
    │          └── index
    └── 20150326234933
        ├── content
        │   └── part-00000
        │      ├── data
        │      └── index
        ├── crawl_fetch
        │   └── part-00000
        │      ├── data
        │      └── index
        ├── crawl_generate
        │   └── part-00000
        ├── crawl_parse
        │   └── part-00000
        ├── parse_data
        │   └── part-00000
        │      ├── data
        │      └── index
        └── parse_text
            └── part-00000
                ├── data
                └── index

已经爬取到数据。

4.6 集成Solr

编辑/usr/solr/solr-4.7.0/example/solr/collection1/conf/schema.xml文件,在<field>…</fields>中增加如下字段:

   <fieldname="host" type="string" stored="false"indexed="true"/>
   <field name="digest"type="string" stored="true" indexed="false"/>
   <field name="segment"type="string" stored="true" indexed="false"/>
   <field name="boost"type="float" stored="true" indexed="false"/>
   <field name="tstamp"type="date" stored="true" indexed="false"/>
   <field name="anchor"type="string" stored="true" indexed="true" multiValued="true"/>
   <fieldname="cache" type="string" stored="true"indexed="false"/>

重启Solr,重新爬取

[root@localhost apache-nutch-1.7]# bin/nutch crawl urls -dir crawl -depth 2 -topN 5 -solr http://localhost:8983/solr

4.7 查看结果

在浏览器输入http://localhost:8983/solr#/collection1/query,进行查询.

© 著作权归作者所有

共有 人打赏支持
VictorHu
粉丝 1
博文 12
码字总数 14462
作品 0
闵行
Oracle Linux 真的是 CentOS 的更好替代品吗?

最近 Oracle 宣称旗下的 Oracle Linux 是比 CentOS 更好的免费替代品,且提供了一个切换脚本。不过,事实真的是这样子么? 在 Oracle 的宣传页面上,Oracle 大力强调 Oracle Linux 的优势: ...

oschina ⋅ 2012/07/19 ⋅ 68

CentOS下安装JDK笔记

JDK安装 大部分的服务都离不开JAVA环境,CentOS里都是OpenJDK,显然我们还是使用JAVA的JDK好。(注:CentOS minimal版没有安装OpenJDK,其它版本需要删除这个。) JDK下载 从http://www.orac...

不最醉不龟归 ⋅ 2016/11/05 ⋅ 0

微软发布 Linux Integration Services 4.0 更新

微软已经正式发布了 Linux Integration Services (LIS)4.0,其版本号为 4.0.11。Linux Integration Services 4.0 更新改进了对 Red HatEnterprise Linux 6.7、CentOS 6.7 和 Oracle Linux 6......

oschina ⋅ 2015/08/21 ⋅ 25

CentOS 6.5 开启Xmanager远程桌面登录

准备:1,CentOS 6.5 minimal Desktop 2,配置CentOS可以访问互联网 开始: 1,使用命令 yum install xdm 安装XDM 通过 XDMCP 支持来管理 X 显示器集合 2,修改/etc/X11/xdm/Xaccess文件,找...

yzbty23 ⋅ 2016/05/23 ⋅ 0

CentOS 5.8 发布

CentOS 5.8 发布了,下载地址: CentOS-5.8-i386-bin-DVD-1of2.iso (3,742MB, SHA256, torrent) CentOS-5.8-x8664-bin-DVD-1of2.iso (4,372MB, SHA256, torrent). 发行说明: http://lists.c......

红薯 ⋅ 2012/03/08 ⋅ 18

LINUX的学习路上的锁锁碎碎

之前之前零零散散装了 UBUNTU,但是没开始 ========== 每次装系统需要安装的东西: 1. 环境 1.1 JDK 1.2 WINE 1.3 HADOOP 2. 开发工具: 2.1 Eclipse 2.2 INTEILJ IDEA 3. 数据库: 1.MYSQL ...

芋道源码 ⋅ 2012/03/18 ⋅ 0

Linux 中使用 OpenCV

修订记录 2012.11.20修订OpenCV 2.4+在CentOS安装方法。 2012.11.21添加OpenCV 2的打开图片的写法。 预备 GCC CMake OpenCV 这些都可以在CentOS 6.0的“添加/删除软件”里面找到并安装。其他...

j_m ⋅ 2012/11/26 ⋅ 0

conntrack-tools使用问题

我最近才开始使用conntrack-tools来进行iptables NAT日志,但我们的服务器有CentOS5和CentOS6,我在CentOS6上安装conntrack-tools,装完可以正常启动并记录日志,但在CentOS5上可以顺利安装,...

刘枫 ⋅ 2012/07/05 ⋅ 0

FastDFS常见命令

1: 启动FastDFS tracker: /usr/local/bin/fdfstrackered /etc/fdfs/tracker.conf storage: /usr/local/bin/fdfsstoraged /etc/fdfs/storage.conf 2:关闭FastDFS tracker:/usr/local/bin/st......

凯文加内特 ⋅ 2015/04/01 ⋅ 0

最新的hyper-v 不支持最新的centos6.4?

我在hyper-v server 2012和windows 8里面的都安装了centos6.4,最新的centos64位版本,装完以后,发现都没有图形化界面,只有命令行,以前安装过程中都是可视化的过程,结果hyper-v里面却是很...

搁浅St ⋅ 2013/04/17 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 20分钟前 ⋅ 0

spring RESTful

spring RESTful官方文档:http://spring.io/guides/gs/rest-service/ 1. 可以这么去理解RESTful:其实就是web对外提供的一种基于URL、URI的资源供给服务。不是一个原理性知识点。是一个方法论...

BobwithB ⋅ 22分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 25分钟前 ⋅ 0

@Conditional派生注解

@Conditional派生注解(Spring注解版原生的@Conditional作用) 作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效; @Conditional扩展注解 作用(判...

小致dad ⋅ 25分钟前 ⋅ 0

适配器模式

适配器模式 对象适配器 通过私有属性来实现的类适配器 通过继承来实现的接口适配器 通过继承一个默认实现的类实现的

Cobbage ⋅ 29分钟前 ⋅ 0

Java 限流策略

概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速...

轨迹_ ⋅ 33分钟前 ⋅ 0

GridView和子View之间的间隙

默认的情况下GridView和子View之间会有一个间隙,原因是GridView为了在子View被选中时在子View周围显示一个框。去掉的办法如下: android:listSelector="#0000" 或 setSelector(new ColorDra...

国仔饼 ⋅ 36分钟前 ⋅ 0

idea插件开发

1 刷新页面要使用多线程 2 调试要使用restart bug 不要去关闭调试的idea 否则再次启动会卡住

林伟琨 ⋅ 36分钟前 ⋅ 0

Java 内存模型

物理机并发处理方案 绝大多数计算任务,并不是单纯依赖 cpu 的计算完成,不可避免需要与内存交互,获取数据。内存要拿到数据,需要和硬盘发生 I/O 操作。计算机存储设备与 cpu 之间的处理速度...

长安一梦 ⋅ 43分钟前 ⋅ 0

思路分析 如何通过反射 给 bean entity 对象 的List 集合属性赋值?

其实 这块 大家 去 看 springmvc 源码 肯定可以找到实现办法。 因为 spirngmvc 的方法 是可以 为 对象 参数里面的 list 属性赋值的。 我也没有看 具体的 mvc 源码实现,我这里只是 写一个 简...

之渊 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部