我的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