XCC如何在MarkLogic中搜索符合一定范围条件的节点(文档)

How to search nodes (documents) matching with a range of conditions in MarkLogic by XCC

我是MarkLogic的新手,所以请帮我找到解决方案。

我的XML数据被导入到MarkLogic中,我想使用XCC查找具有特定范围条件的文档(节点)。 我在 运行 下面搜索命令,但得到一个错误。 请告诉我我做错了什么并告诉我解决方案。 谢谢。

cts:search(fn:doc(),
  cts:and-query(cts:element-range-query(xs:QName("RequestDatetime"), ">=", "20141102170000"), 
  cts:element-range-query(xs:QName("RequestDatetime"), "<=", "20141103170000"))

错误内容为

[1.0-ml] XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error, unexpected UnterminatedComment_, expecting Function30_ or Percent_

你好 wst 和其他人

我尝试创建元素范围索引,但它似乎不起作用。 我的数据包含许多 XML 文件,格式如下。 现在,如果我想搜索 RequestDatetime 元素的范围,我必须做什么?

谢谢

<?xml version="1.0" encoding="UTF-8"?>
<Request>
    <RequestDatetime>
        20141102174108
    </RequestDatetime>
    <RemoteHostName>
        xxxx.xxxx.xxxx.xxxx
    </RemoteHostName>
    <OrgRequest>
       GET http://xxxx/ HTTP/1.1
    </OrgRequest>
    <Protocol>
        xxxx
    </Protocol>
    <WebServer>
        xxxxxxxxx
    </WebServer>
    <Request>
        xxxxxxxxxxx
    </Request>
    <StatusCode>
    xxxxxxx
    </StatusCode>
    <BytesSent>
        Xxxxxxxxxx
    </BytesSent>
    <UserAgent>
    </UserAgent>
    <RemoteLogName>
    </RemoteLogName>
    <Cookie>
    </Cookie>
    <Referer>
    </Referer>
    <UserName>
    </UserName>
</Request>

传给cts:and-querycts:queries是一个序列,所以需要用括号括起来(不像fn:concat()):

cts:search(fn:doc(),
  cts:and-query((
    cts:element-range-query(xs:QName("RequestDatetime"), ">=", "20141102170000"), 
    cts:element-range-query(xs:QName("RequestDatetime"), "<=", "20141103170000")
  ))
)