我的marklogic服务器中有大约53,00,000个文档,每个文档都包含一条记录。Markligic Cts中超出的时间限制:搜索
xquery version "1.0-ml";
declare namespace pa = "http://www.contata.com/pa";
let $query :=
cts:or-query((
cts:element-word-query(
xs:QName("pa:name"), "SMITH"
),
cts:element-word-query(
xs:QName("pa:address-1"), ""
),
cts:element-word-query(
xs:QName("pa:address-2"), ""
),
cts:element-word-query(
xs:QName("pa:address-3"), ""
),
cts:element-word-query(
xs:QName("pa:city"), ""
)
)) return
cts:search(fn:doc(),$query)[5100000 to 5300000]
当我执行上述查询它需要长的时间来执行,并提供了以下错误
[1.0毫升] XDMP-EXTIME:CTS:搜索(FN:DOC(),CTS: (cts:element-word-query(xs:QName(“pa:name”),“SMITH”,(“lang = en”),1),cts:element-word-query(xs:QName (“pa:address-1”),“”,(“lang = en”),1),cts:element-word-query(xs:QName(“pa:address-2”),“”, lang = en“),1),...))) - 超出时间限制
但是当我执行cts:search(fn:doc(),$query)[1000 to 2000]
它会成功执行。
还有一个问题,如果我已经加载了所有文档,那么在从RecordLoader Utility加载后如何在它们上创建索引。
感谢您的回复, 当我运行这个查询时,它也给出了同样的错误,但现在我试图只得到10条记录。搜索(fn:doc(),$ query)[5300000至5300010]' – 2012-04-18 08:20:32