在Marklogic数据库文件批量修补我有几个JSON文档象下面这样: -使用Java客户端API
{ 状态:TO_BE_REPORTED, 日期:2017年11月11日 .... }
我想通过仅将状态字段值从TO_BE_REPORTED替换为REPORTED来更新或修补文档,并且希望执行批量更新,因为我拥有数千个文档。我正在使用DocumentPatchBuilder,但它不支持批量更新。
另一方面,我可以看到Marklogic有几个使用docManager.newWriteSet进行批量写入的概念,然后向其添加文档,但它不支持文档修补?
我还有其他的事情可以尝试吗?
正确的,ApplyTransformListener将允许QueryBatcher针对所有匹配查询的文档或Iterator提供的uris应用服务器端转换。你可以很容易地创建一个PatchListener,在QueryBatcher提供的每个uri上应用一个补丁。如你所注意的,这将需要更长的时间,因为没有批量呼叫。但是代码不应太难编写和维护。 QueryBatcher将在多个线程中处理这些文档,所以它的运行速度要比等效的for-loop快得多。 –