MarkLogic" XDMP-FRAGTOOLARGE"使用REST存储200MB +文件时出错

时间:2015-06-25 08:48:37

标签: rest marklogic

当我尝试使用 REST 将200MB + xml文件存储到marklogic时,会出现以下错误" XDMP-FRAGTOOLARGE: Fragment of /testdata/upload/submit.xml too large for in-memory storage"。

我已尝试过Fragment Roots and Fragment Parents选项,但仍会出现相同的错误。

但是当我存储的文件没有' .xml '在uri扩展。它会保存文件,但不能对其执行 Xquery 操作。

1 个答案:

答案 0 :(得分:4)

MarkLogic won't be able to derive the mime from the uri without extension. It will then fall back to storing it as binary.

I think that if you would use xdmp:document-load from QConsole, you might be able to load it correctly, as that will not try to hold the entire document in memory first. It won't help you much though, you will likely hit the same error elsewhere. The REST api will have to pass it through in memory, so that won't work like this.

You could raise memory settings in the Admin UI, but you are generally better off by splitting your input. MarkLogic Content Pump (MLCP) will allow you to do so using the aggregate_record options. That will split the file into smaller pieces based on a particular element, and store these as separate documents inside MarkLogic.

HTH!