Как запросить MarkLogic для определения стоимости повторной индексации? - PullRequest
3 голосов
/ 14 мая 2019

У меня есть многотерабайтная производственная база данных (MarkLogic 9.0-8, RedHat), в которую мне нужно добавить 2 новых индекса диапазона элементов. Прежде чем я смогу выполнить изменение, мне нужно получить оценку количества документов, на которые будет влиять переиндексация, чтобы убедиться, что мое окно обслуживания достаточно, чтобы избежать влияния на производительность. Предоставит ли мне следующий код то, что мне нужно?

xquery version "1.0-ml";

xdmp:estimate(cts:search(fn:doc(), cts:word-query("someTimestamp")));
xdmp:estimate(cts:search(fn:doc(), cts:word-query("someString")));

1 Ответ

3 голосов
/ 16 мая 2019

Вместо word-query Я бы лучше посчитал фрагменты, содержащие элементы двух ваших новых индексов диапазона элементов, используя element-query.

xdmp:estimate(
  cts:search(fn:doc(), 
    cts:element-query(xs:QName("your-index-element"), (cts:and-query(())))
  )
) 
...