nutch mysql solr_Nutch2.1+mysql+solr3.6.1+中文网站抓取

1、mysql 数据库配置 linux mysql安装步骤省略。 创建数据库与表 [sql] view plaincopyprint? CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE TABLE `webpage`( `id` varchar (767) CHARACTER SET latin1 NOT N

1、mysql 数据库配置

linux mysql安装步骤省略。

创建数据库与表

[sql]

view plaincopyprint?

CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

CREATE TABLE `webpage` (

`id` varchar(767) CHARACTER SET latin1 NOT NULL,

`headers` blob,

`text` mediumtext DEFAULT NULL,

`status` int(11) DEFAULT NULL,

`markers` blob,

`parseStatus` blob,

`modifiedTime` bigint(20) DEFAULT NULL,

`score` float DEFAULT NULL,

`typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,

`baseUrl` varchar(512) CHARACTER SET latin1 DEFAULT NULL,

`content` mediumblob,

`title` varchar(2048) DEFAULT NULL,

`reprUrl` varchar(512) CHARACTER SET latin1 DEFAULT NULL,

`fetchInterval` int(11) DEFAULT NULL,

`prevFetchTime` bigint(20) DEFAULT NULL,

`inlinks` mediumblob,

`prevSignature` blob,

`outlinks` mediumblob,

`fetchTime` bigint(20) DEFAULT NULL,

`retriesSinceFetch` int(11) DEFAULT NULL,

`protocolStatus` blob,

`signature` blob,

`metadata` blob,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2、安装nutch2.1A、 nutch下载地址:http://apache.etoak.com/nutch/2.1/apache-nutch-2.1-src.zip

下载完成后家压缩,

B、以下将nutch的根目录定位${APACHE_NUTCH_HOME}.

C、配置nutch对mysql的支持,修改${APACHE_NUTCH_HOME}/ivy/ivy.xml文件

将这行的注释取消default”/>

修改${APACHE_NUTCH_HOME}/conf/gora.properties文件,

注释默认存储配置

[html]

view plaincopyprint?

###############################

# Default SqlStore properties #

###############################

#gora.sqlstore.jdbc.driver=org.hsqldb.jdbc.JDBCDriver

#gora.sqlstore.jdbc.url=jdbc:hsqldb:hsql://localhost/nutchtest

#gora.sqlstore.jdbc.user=sa

#gora.sqlstore.jdbc.password=

取消以下代码注释,

###############################

# MySQL properties

################################

gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver

gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true

gora.sqlstore.jdbc.user=xxxxx(mysql用户名)

gora.sqlstore.jdbc.password=xxxxx(mysql密码)

D、修改${APACHE_NUTCH_HOME}/conf/nutch-site.xml 加入如下代码:

[html]

view plaincopyprint?

http.agent.namename>

Your Nutch Spidervalue>

property>

http.accept.languagename>

ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3value>

Value of the “Accept-Language” request header field.

This allows selecting non-English language as default one to retrieve.

It is a useful setting for search engines build for certain national group.

description>

property>

parser.character.encoding.defaultname>

utf-8value>

The character encoding to fall back to when no other information

is availabledescription>

property>

storage.data.store.classname>

org.apache.gora.sql.store.SqlStorevalue>

The Gora DataStore class for storing and retrieving data.

Currently the following stores are available: ….

description>

property>

E、使用ant编译 ${APACHE_NUTCH_HOME} 。

F、设置待抓取的网站

cd ${APACHE_NUTCH_HOME}/runtime/local

mkdir -p urls

echo 'http://nutch.apache.org/' > urls/seed.txt

G、执行爬行操作: bin/nutch crawl urls -depth 3 -topN 5

执行完在mysql中即可以查看到爬虫抓取的内容

3、安装solr,对nutch抓取的内容进行索引

(注意:参考资料中推荐使用solr4.0版本,4.0的两个版本我都试了,没有成功,所以替换为3.6.1版本)

solr下载地址:http://www.fayea.com/apache-mirror/lucene/solr/3.6.1/apache-solr-3.6.1.zip

A、解压缩下载包,

B、下载

http://nlp.solutions.asia/wp-content/uploads/2012/08/schema.xml替换${APACHE_SOLR_HOME}/example/solr/conf/schema.xml.

C、启动solr

cd ${APACHE_SOLR_HOME}/example

java -jar start.jar

D、在浏览器输入地址http://localhost:8983/solr 测试是否启动成功。

E、另起linux终端,输入如下命令,使solr对nutch抓取内容进行索引。

cd ${APACHE_NUTCH_HOME}/runtime/local/

bin/nutch solrindex http://127.0.0.1:8983/solr/ -reindex

4、测试

在浏览器输入

http://localhost:8983/solr ,看到如下界面:

test.jsp?url=http%3A%2F%2Fstatic.oschina.net%2Fuploads%2Fspace%2F2012%2F1011%2F140241_FzQU_734002.gif&refer=http%3A%2F%2Fblog.csdn.net%2Fjinyeweiyang%2Farticle%2Fdetails%2F10973803

在文本框中输入 content:nutch 点击查询,便可查处内容中包含nutch关键字的网页

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos web 访问mysql_Centos7安装Web服务器--Mysql5.7.12安装

我是勤劳的搬运工……源码装了好多次Mysql,终于成功了……因为安装mysql需要对应的boost文件(必须是相应版本,不能高也不能低),所以,为了不再麻烦的搜索对应的boost文件,下载包含boost的Mysql包2.查看是否有编译器# gc…

【牛客 - 368C】流星雨(概率dp,乘法逆元)

题干: 现在一共有n天,第i天如果有流星雨的话,会有wiwi颗流星雨。 第i天有流星雨的概率是pipi。 如果第一天有流星雨了,那么第二天有流星雨的可能性是p2Pp2P,否则是p2p2。相应的,如果第i−1 (i≥2)i−1 (…

mysql workbench 无法编辑_MySQL Workbench编辑表数据是只读的

14 个答案:答案 0 :(得分:60)我假设桌子有一把主键。首先尝试运行unlock tables命令以查看是否修复了它。如果所有其他方法都失败了,您可以更改表以创建具有自动增量的新主键列,并希望能够修复它。一旦完成,您应该能够毫无问题地删…

【计蒜客 - 蓝桥训练】炮台实验(数学期望,期望dp)

题干: 蒜头君在玩一个战争模拟游戏,他有高度为 1,2,3,\ldots ,n1,2,3,…,n 的炮台各一个,他需要把这 nn 个炮台从左往右排成一行,并且炮口都朝向右边。 在这个游戏中,所有炮台发射的炮弹会摧毁前方所有高度比自己低的…

mysql本身主从_Mysql主从复制

Mysql环境准备#下载Mysqlwget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm如果报错: -bash: wget: 未找到命令安装插件 yum -y install wget安装mysql-community-release-el7-5.noarch.rpmsudo rpm -ivh mysql-community-release-el7-5.noarch.rpm安装Mys…

phison主控ps3111量产工具_从固态硬盘拆解看门道 深入解读闪存编号和主控容量...

一篇固态硬盘的评测是否有水平,不光是看测试跑分是否详细,更应有针对成绩的解读以及硬件拆解和结构上的分析。毕竟跑分大家都会跑,必须拿出其他人不知道的内存才能真正吸引读者。因为大多数固态硬盘拆解会失去保修,所以拆解是网友…

alot英文怎么读_【乐学】“原来如此”用英文怎么说?

英语中的“原来如此”则有几种不同的表达下面就让我们一起来看看吧!I seeI see 作为最地道的表达,使用起来准没错。这是来自《柯林斯词典》的释义:You can say "I see" to indicate that you understand what someone is telling y…

特殊mac地址文档_Mac颜值秒杀Win10?五款神器让Win10化身macOS

微软在Win10上捣鼓已经不是一天两天了,可结果……还是难以令人满意,特别是不伦不类的UI!其实Win10的底子还是不错的,新技术用了不少,外观也比之前更有颜值,但……总感觉缺了点什么!有没有羡慕隔…

checkbox设置三种状态 qt_checkbox的三种状态处理

checkbox只有两种值:选中(checked)或未选中(unchecked)。它可以有任何值,但是表单提交时checkbox的值只能是checked或unchecked。它的默认值是unchecked,你可以在HTML中这样控制它:视觉上,checkbox有三种状态&#xff…

raft算法mysql主从复制_Etcd raft算法实现原理分析

1.1 主要概念要实现集群数据的一致性,节点在进行通信的时候必定需要遵守特定规则进行数据校验,而这些规则具体都是通过某些具有特定含义的属性来实现的。为了让对Raft 算法比较陌生的读者对算法的关键概念有一个初步认识,作者整理了算法中涉及…

【面试题 - 最大值减去最小值小于或等于 num 的子数组数量】滑动窗口

题干: 解题报告: 我们用两个指针(i,j)分别代表窗口的左边界和右边界,窗口也就是子数组; 用两个双端队列分别维护这个窗口的最大值和最小值; 当窗口扩大时,即j向右扩展时…

mysql根据用户名查询数据_MySQL 查询数据

MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据。 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据。 语法 以下为在MySQL数据库中查询数据通用的 SELECT 语法: SELECT column_name,column_name FROM table_name [WHERE Clause…

quartz mysql索引_分布式系统中的定时任务全解(二)

在实际项目中,通常需要用到定时任务(定时作业),spring框架提供了很好的实现。 1、 下载spring-quartz插件包 这里默认当前系统中是集成了spring框架的基本功能的。去网上下载spring定时器的jar包,这里用的是quartz-all-1.8.4.jar&#xff0c…

react div组件设置可点击不可点击_React面试全解

更新:收藏前点个赞亲,为啥我每次写的东西收藏都是赞的n倍!!花了一个月时间总结的React面试题 希望能帮助到你全文近万字建议保存仔细过一遍目录面试中常提的重要概念React生命周期ReduxRouter重要的方法面试中常提的重要概念1 什么是模块化是…

【牛客 - 185B】路径数量(离散数学,长度为k的路径数量,图)

题干: 给出一个 n * n 的邻接矩阵A. A是一个01矩阵 . A[i][j]1表示i号点和j号点之间有长度为1的边直接相连. 求出从 1 号点 到 n 号点长度为k的路径的数目. 输入描述: 第1行两个数n,k (20 ≤n ≤ 30,1 ≤ k ≤ 10) 第2行至第n1行,为一个邻接矩阵 …

【牛客 - 368D】动态连通块(并查集+bitset优化)

题干: 小T有n个点,每个点可能是黑色的,可能是白色的。 小T对这张图的定义了白连通块和黑连通块: 白连通块:图中一个点集V,若满足所有点都是白点,并且V中任意两点都可以只经过V中的点互相到达&a…

spark中读取json_【spark】文件读写和JSON数据解析

1.读文件通过 sc.textFile(“file://")方法来读取文件到rdd中。val lines sc.textFile("file://")//文件地址或者HDFS文件路径本地地址"file:///home/hadoop/spark-1.6.0-bin-hadoop2.6/examples/src/main/resources/people.json"HDFS文件地址"…

设python中有模块m、如果希望同时导入m中的所有成员_python-模块

先做几个练习题练习计算一个四乘四矩阵的所有元素的和,以及对角线之和#encodingutf-8a[[1,2,3,4],[2,5,2,3],[1,5,3,2],[5,3,2,5]]#encodingutf-8a[[1,2,3,4],[2,5,2,3],[1,5,3,2],[5,3,2,5]]total_sum0diagonal_sum0‘‘‘for i in a:print "i:",ifor j …

java 单例 饿汉式_Java-单例设计模式(懒汉与饿汉)

单例设计模式保证一个类在内存中只能有一个对象。思路:1)如果其他程序能够随意用 new 创建该类对象,那么就无法控制个数。因此,不让其他程序用 new 创建该类的对象。2)既然不让其他程序 new 该类对象,那么该类在自己内部就要创建一…

【牛客 - 369A】小D的剧场(线性dp)

题干: 链接:https://ac.nowcoder.com/acm/contest/369/A 来源:牛客网 题目描述 "我明白。" 作为这命运剧场永远的观众,小D一直注视着这片星光璀璨的舞台,舞台上,少女们的身姿演绎出了一幕幕…