【发布时间】:2014-01-04 18:20:22
【问题描述】:
我正在运行 Apache Nutch,它似乎可以工作,并且在小规模运行中将索引文档并在运行结束时提交给 Solr。
不幸的是,我想在一些大型网站的深处建立索引,而 Nutch 不会承诺运行结束。
当您查看超过 100k 的文档堆积起来等待提交时,这会出现明显的问题,内存压力,必须等待很长时间才能获得数据等。
有没有办法说服 Nutch 更频繁地提交?
【问题讨论】:
我正在运行 Apache Nutch,它似乎可以工作,并且在小规模运行中将索引文档并在运行结束时提交给 Solr。
不幸的是,我想在一些大型网站的深处建立索引,而 Nutch 不会承诺运行结束。
当您查看超过 100k 的文档堆积起来等待提交时,这会出现明显的问题,内存压力,必须等待很长时间才能获得数据等。
有没有办法说服 Nutch 更频繁地提交?
【问题讨论】:
nutch中有一个名为“solr.commit.size”的配置参数,根据nutch-default.xml中的描述是:
定义在单个更新批次中发送到 Solr 的文档数量。 处理非常大的文档时减少以防止 Nutch 运行 内存不足。注意:它不会显式触发服务器端提交。
正如它所说,它没有显式提交,因为将提交时间的决定留给 solr 更加优化。因此,您还应该调整您的 solr 配置参数:autoCommit 和 autoSoftCommit。您可以在 solrconfig.xml 文件中找到它们的描述。
【讨论】:
autoCommit 和可能的 autoSoftCommit - 如果你想在两者之间搜索。进一步阅读 stackoverflow.com/questions/15667748/… 和 t.co/2I9cmHli3H