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