在我们的应用程序中,我们会收到需要预处理并加载到MarkLogic中的批量文件。
要做到这一点,我们需要:
XML
文件上的节点操作)xdmp:document-insert
在执行(3)时,我们得到扩展的树缓存错误,对于一批1500个文档(最多400个文档,它工作正常。任何更高的数字,弹出错误)。
我们代码的算法步骤:
Get total number of docs in working directory = totalRec
for Ctr = 1 to totalRec
Get specific node values for current doc
Frame the target URI where doc is to be loaded
Insert document using xdmp:document-insert
我们甚至尝试在for loop
中使用交易开始/提交,但似乎没有任何效果。有关如何解决此问题的任何想法?
答案 0 :(得分:3)
扩展的树缓存错误只是意味着您尝试同时处理太多碎片。优选的解决方案是减小工作组的尺寸。通常不太好,如果你有足够的备用内存,你可以增加组设置中扩展树缓存的大小。但通常最好减小工作集的大小。
这个特定用例听起来像内容处理工作流程。因此,您可能最好使用内置产品功能,即内容处理框架(CPF):http://docs.marklogic.com/guide/cpf有更多关于CPF的信息。
或者InfoStudio流可能是合适的:http://docs.marklogic.com/guide/infostudio
使用现有工具意味着您不必重新发明轮子。