是否可以在marklogic

时间:2016-04-18 14:47:40

标签: marklogic

我想了解marklogic是否能够在执行搜索时比较单个文档中的元素值,即cts:search。

例如:

考虑如下文件

<root>
    <someTags></someTags>
    .
    .
    .
    <effectivePeriod>
        <dateTimeBegin>2009-01-16T00:00:00-05:00
        </dateTimeBegin>
        <dateTimeEnd>2009-01-16T00:00:00-05:00
        </dateTimeEnd>
    </effectivePeriod>
    .
    .
    .
    <otherTags></otherTags>
</root>

让我们想象上面有十万个文件。如何进行搜索以确保我只获取有效的Period.dateTimeEnd&gt; effectivePeriod.dateTimeBegin?

2 个答案:

答案 0 :(得分:1)

使用尽可能具体的标准构建您的cts:search(),然后使用谓词过滤结果:

cts:search(collection(), 
           cts:and-query())[root/effectivePeriod[dateTimeEnd gt dateTimeBegin]]

答案 1 :(得分:0)

你看过cts.periodCompareQuery吗?

相关问题