使用发布工具将大型文件目录发布到SOLR,如何在每个文件之后提交

时间:2019-06-14 23:42:26

标签: solr solrj posting

我正在使用java post工具进行solr上传和索引文档目录。有几千个文件。 Solr只会在流程的最后进行一次提交,有时事情会在完成之前停止,所以我会丢失所有工作。

有没有人能提取每个文档的名称并对其进行调用,从而获得每个文档的提交?而不是最后大量提交所有文档?

2 个答案:

答案 0 :(得分:0)

post工具的帮助页面开始:

Other options:
  ..
  -params "<key>=<value>[&<key>=<value>...]" (values must be URL-encoded; these pass through to Solr update request)

这应该允许您使用-params "commitWithin=1000"来确保每个文档在添加到索引后的一秒钟内显示出来。

答案 1 :(得分:0)

在每个文档之后提交overkill for the performance,无论如何,如果出现问题,必须从头开始重新提交,这很奇怪。我建议认真地更改正在使用的索引编制策略,而不要以其他方式进行调查以提交。

鉴于,如果您没有其他更改提交配置的方法,我建议按照@MatsLindh的建议在Solr集合/索引中配置autocommit或使用参数commitWithin。请注意,您使用的工具是否有机会添加此参数。

  

autoCommit

     

这些设置控制待处理的更新将被自动推送到索引的频率。 autoCommit的替代方法是   使用commitWithin,可以在进行更新时定义   请求Solr(即在推送文档时)或进行更新   RequestHandler。