私はmarklogicサーバーに約53,000,000のドキュメントがあり、各ドキュメントには1つのレコードが含まれています。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]
Iが挙げクエリ上に実行すると、それがかかり、長時間実行すると、次のエラーを与える
[1.0ミリリットル] XDMP-EXTIME:CTS:検索(FN:DOC()、CTS: (xs:QName( "pa:name")、 "SMITH"、( "lang = en")、1)、cts:element-word-query(xs: ( "pa:address-2")、 ""、( "pa: - 制限時間を超えました
しかし、cts:search(fn:doc(),$query)[1000 to 2000]
を実行すると、正常に実行されます。
1つの質問より、もし私がすべてのドキュメントを読み込んだら、RecordLoader Utilityから読み込んだ後、どのようにインデックスを作成すればいいですか?
返信いただきありがとうございます。 このクエリを実行すると、同じエラーが発生しますが、今は10レコードしか取得しようとしていません。 'cts:search(fn:doc()、$ query)[5300000〜5300010]' –