对大量文档执行 XQuery 时出现扩展树缓存已满异常

Neh*_*eha 2 xquery marklogic

我正在尝试从多个文档中检索 XPath 的值。就我而言,大约有 80 万个文档。我收到异常消息

扩展树缓存已满。

当文档较少(即 400k 文档)时,相同的查询会产生预期的输出。

以下是用于从集合中检索 XPath 值的查询:collection1collection2

cts:search(doc(),
  cts:and-query((
    cts:collection-query("collection1"), 
    cts:collection-query("collection2")
  ))
)/xpath/text()
Run Code Online (Sandbox Code Playgroud)

wst*_*wst 5

从查询返回的每个文档都必须完整加载到内存中 - 即扩展的树缓存。因此,单个查询受到内存中可容纳的文档数量的限制。

对于需要读取整个数据库(或较大子集)的查询,您应该实施分页或批处理以防止错误。如果您尝试从数据库导出文档,MLCP将自动为您进行批处理。