主要参考资料
版本说明
nutch 1.12
solr 5.4.1
CentOS7
jdk1.8
步骤
Java环境
1、在CentOS7上安装jdk8
安装教程:https://blog.csdn.net/fuyuwei2015/article/details/73195936
nutch部分
2、解压nutch压缩文件
unzip apache-nutch-1.12-bin.zip
3、配置conf目录下的nutch-size.xml
<configuration>
<property>
<name>http.agent.name</name>
<value>My Nutch Spider</value>
</property>
</configuration>
4、设置将要爬行的网址
mkdir urls
touch urls/seed.txt
echo "http://www.zzu.edu.cn/">>urls/seed.txt
网址最后的“/”不要省略,且最好为http的网址,https的网址需要额外配置
5、创建保存爬行结果的目录
touch results
solr部分
6、解压solr安装包
unzip solr-5.4.1.zip
7、复制solr的示例项目的基本配置
cp -r solr-5.4.1/server/solr/configsets/basic_configs solr-5.4.1/server/solr/configsets/nutch
8、使用nutch中的schema.xml替换solr中的默认schema.xml
cp apache-nutch-1.12/conf/schema.xml solr-5.4.1/server/solr/configsets/nutch/conf
9、启动solr,创建一个新的core
bin/solr start
bin/solr create -c nutch -d server/solr/configsets/nutch/conf/
如果出现了enablePositionIncrements is not a valid option as of Lucene 5.0类似的错误,请删除schema.xml文件中的全部enablePositionIncrements属性,这是nutch与solr的版本冲突所致。
最后,启动nutch脚本,并将爬行结果添加至solr,生成索引
10、
bin/crawl -i -D solr.server.url=http://localhost:8983/solr/nutch urls/ results/ 2
solr.server.url是solr服务器的地址
urls/是种子url目录
results是爬行结果目录
2代表循环爬行次数2次
另外,此命令执行到最后时,可能会出现ERROR CleaningJob: java.io.IOException: Job failed!类似的异常,这个异常没什么太大影响,是nutch1.12的一个bug,已经在1.14版本修复
结果查看
10、访问http://localhost:8983/solr/#/nutch,进去query选项卡,点击Execute Query,即可展示出nutch爬行的网页所生成的文档