У меня около 53 000 000 документов на моем сервере marklogic, и каждый документ содержит одну запись.Превышен лимит времени, в 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(), КТС: или-query ((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.
Спасибо за ваш ответ, Когда я запускаю этот запрос, он также дает ту же ошибку, но теперь я пытаюсь получить только 10 записей. 'cts: search (fn: doc(), $ query) [5300000 to 5300010]' –