微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml – 如何对路径范围索引元素进行排序?

我有一个元素DateTimeList与PathRangeIndex的第一个子元素,如下所示:

/ResultPage/DateTimeList/DateTime[1]

通常我们用属性对元素进行排序,如下所示:

<sort-order type="xs:string" direction="ascending">
    <element ns="" name="div"/>
    <attribute ns="" name="order"/>
</sort-order>

是否有任何类似的方法来使用其第一个子元素(使用path-range-index)对DateTimeList元素进行排序.我尝试如下:

<sort-order direction="ascending" type="xs:dateTime">
   <path-index>/ResultPage/DateTimeList/DateTime[1]</path-index>
</sort-order><sort-order><score/></sort-order></state></operator>

但得到的结果没有变化如下:

<DateTimeList>
   <DateTime>2014-05-07T10:26:00</DateTime>
</DateTimeList>
<DateTimeList>
   <DateTime>2013-12-01T00:00:00</DateTime>
   <DateTime>2014-05-01T00:00:00</DateTime>
   <DateTime>2014-12-01T00:00:00</DateTime>
</DateTimeList>
<DateTimeList>
   <DateTime>2013-09-01T10:32:42</DateTime>
</DateTimeList>
<DateTimeList>
   <DateTime>2014-05-30T00:00:00</DateTime>
   <DateTime>2015-05-30T00:00:00</DateTime>
</DateTimeList >

谢谢.

解决方法

MarkLogic Search API的当前版本实际上不支持按路径索引进行排序.但是,您构建了一个表达式,只要产品中有该支持,它就会起作用.有计划介绍它.

我建议使用search:check-options($options)来查看您的选项是否有效.我相信在这种情况下,check-options将报告该节点无效.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。