首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从cts返回按键排序的map:*-value-在Marklogic中的共现

从cts返回按键排序的map:*-value-在Marklogic中的共现
EN

Stack Overflow用户
提问于 2014-09-06 23:18:09
回答 2查看 293关注 0票数 0

我有像下面这样的100个文档,其中n=1为100。

代码语言:javascript
复制
<root>
<parent>
<child id="n">sometext</child>
</parent>
</root>

我使用以下查询来获取(id,uri)的映射。

代码语言:javascript
复制
cts:element-attribute-value-co-occurrences(xs:QName("child"),xs:QName("id"),xs:QName("xdmp:document"),(),("ascending","map",
     "collation-2=http://marklogic.com/collation/codepoint"),())

我期望映射是通过指定“升序”option.But来按键排序的,每次带有id=53的文档出现在顶部时,映射返回的不是sorted.In事实。如何获得排序后的映射?

EN

回答 2

Stack Overflow用户

发布于 2014-09-07 02:14:26

map:map是作为HashMap实现的,因此无论添加键的方法或顺序如何,都无法从中获得排序的键。使用非map响应,并使用FLWOR对其进行迭代,以便按照函数返回的顺序处理它。

哈!

票数 2
EN

Stack Overflow用户

发布于 2014-09-07 02:16:11

结果没有排序,因为map:map项是http://en.wikipedia.org/wiki/Hash_table的一种,因此根据定义,键是伪随机顺序的。

您可以将映射重新构建为按值或cts:frequency排序的json:object。可能词典函数应该使用json:object而不是map:map,但是在7.0-3版本中他们不这样做。如果您愿意,您可以将该想法作为RFE发送给MarkLogic支持。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25701714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档