我在CentOS Linux版本7.3.1611上集成了nutch 1.13和solr-6.6.0我在seedlist中提供了大约10个url,位于/usr/local/apache-nutch-1.13/urls/seed.txt我跟着tutorial 我使用的命令是
/usr/local/apache-nutch-1.13/bin/crawl -i -D solr.server.url = httpxxx:8983 / solr / nutch / /usr/local/apache-nutch-1.13/urls/ crawl 100
2.如何知道我的爬行动物是否在增长?这是一个月左右,我在solr上获得的唯一结果来自种子列表及其链接。
3.我已在crontab -e和plesk预定任务中设置了上述命令。现在我多次获得相同的链接以换取搜索查询。如何在solr中避免重复结果?
我是一个新手,任何其他信息都会有所帮助。
答案 0 :(得分:0)
1.它似乎运行了一两个小时。我在solr中得到了相应的结果。但在爬行阶段,很多网址似乎都在终端屏幕中被提取和解析。为什么他们没有被添加到种子列表。?
种子文件永远不会被nutch修改,它只是注入阶段的只读目的。
2.如何知道我的爬行动物是否在增长?
你应该看看readdb -stats选项,你应该得到这样的东西
crawl.CrawlDbReader - Statistics for CrawlDb: test/crawldb
crawl.CrawlDbReader - TOTAL urls: 5584
crawl.CrawlDbReader - shortest fetch interval: 30 days, 00:00:00
crawl.CrawlDbReader - avg fetch interval: 30 days, 01:14:16
crawl.CrawlDbReader - longest fetch interval: 42 days, 00:00:00
crawl.CrawlDbReader - earliest fetch time: Tue Nov 07 09:50:00 CET 2017
crawl.CrawlDbReader - avg of fetch times: Tue Nov 14 11:26:00 CET 2017
crawl.CrawlDbReader - latest fetch time: Tue Dec 19 09:45:00 CET 2017
crawl.CrawlDbReader - retry 0: 5584
crawl.CrawlDbReader - min score: 0.0
crawl.CrawlDbReader - avg score: 5.463825E-4
crawl.CrawlDbReader - max score: 1.013
crawl.CrawlDbReader - status 1 (db_unfetched): 4278
crawl.CrawlDbReader - status 2 (db_fetched): 1014
crawl.CrawlDbReader - status 4 (db_redir_temp): 116
crawl.CrawlDbReader - status 5 (db_redir_perm): 19
crawl.CrawlDbReader - status 6 (db_notmodified): 24
我经常做的一个好方法是将此命令放在nutch(bin / crawl)提供的爬网脚本中,在循环中
for for ((a=1; ; a++))
do
...
> echo "stats"
> __bin_nutch readdb "$CRAWL_PATH"/crawldb -stats
done
已经过了大约一个月,我在solr上获得的唯一结果来自种子列表及其链接。
原因是多重的,你应该检查每个阶段的输出,看看漏斗是怎么回事。
3.我已在crontab -e和plesk预定任务中设置了上述命令。现在我多次获得相同的链接以换取搜索查询。如何在solr中避免重复结果?
猜猜你已经使用了nutch默认的solr架构,检查url与id字段。 据我所知,id是url的唯一标识符(可能包含重定向内容)