Xquery 尝试删除MarkLogic中的集合时出现超时错误

Xquery 尝试删除MarkLogic中的集合时出现超时错误,xquery,marklogic,Xquery,Marklogic,我正试图通过查询控制台使用xdmp:collection delete函数删除MarkLogic中的集合,但出现超时异常: SVC-EXTIME:xdmp:collection delete(“”)——超出了时间限制 这个集合包含大约150000个文档,都是小文档。有人能帮忙吗 在管理控制台中,时间设置为3600。我尝试使用xdmp:spawn函数批量删除它,但出现语法错误: “意外的Lbrace,应为逗号或Rpar”:xquery版本“0.9-ml”将变量$uriMatch定义为xs:stri

我正试图通过查询控制台使用
xdmp:collection delete
函数删除MarkLogic中的集合,但出现超时异常:

SVC-EXTIME:xdmp:collection delete(“”)——超出了时间限制

这个集合包含大约150000个文档,都是小文档。有人能帮忙吗


在管理控制台中,时间设置为3600。我尝试使用xdmp:spawn函数批量删除它,但出现语法错误:

“意外的Lbrace,应为逗号或Rpar”:xquery版本“0.9-ml”将变量$uriMatch定义为xs:string{/sortkey-257-2019*”}让$在cts:uri match($uriMatch)中为$uri返回if(doc available($uri)),然后(xdmp:spawarn函数(){xdmp:collection delete(xdmp:document get collections($uri)),xdmp:commit(),update))else()返回$\

PFB,返回XDMP:MAX-TASKS异常的查询: xquery版本“1.0-ml”; 让$uriMatch:=“/snapshot-257-2019*”

对于cts中的$uri:uri匹配($uriMatch) 返回 如果(fn:doc可用($uri)),则 让$x:=
xdmp:spawn函数(函数(){ xdmp:collection delete(xdmp:document get collections($uri)),xdmp:commit()}, 更新 ) 返回$x 其他的
xdmp:log(“集合中没有文档”)

解决SVC-EXTIME问题有几种不同的方法

  • 更改事务或请求的超时设置(取决于呼叫方式)
  • 或:

  • 将删除操作分为多个批

  • 用于执行删除操作


  • 在管理控制台中,时间设置为3600。我尝试使用xdmp:spawn函数批量删除它,但我得到了一个语法错误,“意外的Lbrace,期望逗号或Rpar”:xquery版本“0.9-ml”将变量$uriMatch定义为xs:string{”/sortkey-257-2019*”}let$\:=对于cts中的$uri:uri匹配($uriMatch)返回(如果(doc可用)($uri))然后(xdmp:spawn函数(函数(){xdmp:collection delete(xdmp:document get collections($uri)),xdmp:commit()},update))else()返回$@rohithsuresh,这是一条典型的语法错误消息,表示查询不正确。请尝试编辑您的问题以添加查询,我们可能会帮助您修复它。您好,我已修复了语法错误。当我运行查询时,我收到一个错误XDMP-MAXSTASKS--任务服务器超过了最大任务数-100000。但是第二天我看到一些文档被删除了。我只是想了解函数如何返回错误并仍然删除文档@MichaelGardner@rohithsuresh查询正在生成正在执行的任务。这些任务将作为单个事务执行,因此有些任务将在点击MAXTASKS消息之前完成。除非您在问题,我们无法真正帮助您解决此问题。我已发布此查询