Настройка динамического ограничения в MarkLogic для дат - PullRequest
0 голосов
/ 10 июля 2019

В моей базе данных у меня есть индекс диапазона пути на <date>, который содержит xs: даты.

<date>2019-01-01</date>

Я пытаюсь установить ограненное ограничение со следующими сегментами:

2019 with quarter (2019 Q1 (Jan-Mar), Q2 (April-June) etc)

2018 

2017

2016

2015

etc

Моя проблема в том, что я хочу динамически обновлять корзину, чтобы вычислять текущий год в квартальную корзину, а остальные годы - после. У меня есть текущее ограничение диапазона:

<constraint name="date">
    <range type="xs:date" facet="true">
        <path-index>/data/date</path-index>
        <bucket ge="2019-01-01" lt="2019-03-01" name="q1">2019 Q1</bucket>
        <bucket ge="2019-04-01" lt="2019-06-01" name="q2">2019 Q2</bucket>
        <bucket ge="2019-07-01" lt="2019-09-01" name="q3">2019 Q3</bucket>
        <bucket ge="2019-10-01" lt="2019-12-01" name="q4">2019 Q4</bucket>
        <bucket ge="2018-01-01" lt="2019-01-01" name="2018">2018</bucket>
        <bucket ge="2017-01-01" lt="2018-01-01" name="2017">2017</bucket>
        <bucket ge="2016-01-01" lt="2017-01-01" name="2016">2016</bucket>
        <bucket ge="2015-01-01" lt="2016-01-01" name="2015">2015</bucket>
    </range>
</constraint>

Проблема с вышесказанным заключается в том, что он вручную устанавливает 2019 для разделения на кварталы, но когда наступит 2020 год и последующие годы, как я могу получить автоматическое обновление корзины и только разделение текущего года на кварталы

1 Ответ

1 голос
/ 10 июля 2019

Будут ли вычисленные сегменты соответствовать требованию?См .:

http://docs.marklogic.com/guide/search-dev/search-api#id_22725

и

http://docs.marklogic.com/guide/search-dev/appendixa#id_91755

Надеюсь, что поможет,

...