如何同步 Solr 增量导入流程?几个线程运行增量导入。如果在导入期间再次运行一次导入,则第二次运行将被忽略并且数据不会更新。
我的目的是等待第二个完成第一个增量导入。
增量导入通过 HTTP 运行,所以我不知道如何检查它何时完成。
用途:Solr 4.0、SolrJ
http://host:port/solr/dataimport?command=status
您可以使用 url甚至不使用任何命令轮询 dataimporthandler 的状态,因为 status 是默认值。这样您就可以获取有关数据导入过程的一些详细信息,并且可以了解它是否仍在进行中。看看可用的命令。
看起来你可以用这个做点什么
http://wiki.apache.org/solr/DataImportHandler#EventListeners
如果您可以使用它来维护“importInProgress”布尔标志,您可能会在自己的代码中扩展或包装数据导入处理程序类,并返回您自己的自定义响应以指示系统正忙。这样你就永远不会有两个进口处理。根据 javanna 轮询状态听起来会受到竞争条件的影响。