gpt4 book ai didi

solr - Nutch solrindex命令未索引Solr中的所有URL

转载 作者:行者123 更新时间:2023-12-02 04:08:26 24 4
gpt4 key购买 nike

我有一个从特定域爬网的Nutch索引,并且我正在使用solrindex命令将爬网的数据推送到我的Solr索引。问题在于,似乎只有一些爬网的URL实际上在Solr中被索引了。我将Nutch抓取输出输出到文本文件,因此可以看到其抓取的URL,但是当我在Solr中搜索某些抓取的URL时,没有任何结果。

我用来执行Nutch抓取的命令:bin/nutch crawl urls -dir crawl -depth 20 -topN 2000000
该命令成功完成,并且输出显示在结果Solr索引中找不到的URL。

我用来将爬网的数据推送到Solr的命令:bin/nutch solrindex http://localhost:8983/solr/ crawl/crawldb crawl/linkdb crawl/segments/*
该命令的输出表明它也已成功完成,因此该进程过早终止(这似乎是我最初的想法)似乎不是问题。

我发现奇怪的最后一件事是,整个Nutch&Solr的配置与我以前在另一台服务器上使用的设置相同,并且那时我没有任何问题。它实际上是复制到此新服务器上的相同配置文件。

TL; DR:我在Nutch中成功抓取了一组URL,但是当我运行solrindex命令时,只有其中一些被推送到Solr。请帮忙。

更新:我已经重新运行了所有这些命令,并且输出仍然坚持一切正常。我已经研究过可以想到的任何索引阻止程序,但仍然没有运气。传递给Solr的URL都是 Activity 的并且可以公开访问,因此这不是问题。我的头真的撞到了这里的墙上,希望能有所帮助。

最佳答案

我只能从我的经历中猜出发生了什么:

有一个称为url-normalizer的组件(及其配置url-normalizer.xml),它会截断某些url(删除URL参数,SessionIds等)。

此外,Nutch使用唯一约束,默认情况下每个URL仅保存一次。

因此,如果规范化器将2个或多个URL('foo.jsp?param = value','foo.jsp?param = value2','foo.jsp?param = value3',...)截断为完全相同的网址('foo.jsp'),它们只会保存一次。因此,Solr将仅看到您所有已爬网URL的子集。

干杯

关于solr - Nutch solrindex命令未索引Solr中的所有URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6421642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com