我正在使用MarkLogic 8.0-6.3
我必须对字符串进行排序,首先要对小写字母进行排序。
例如:
('a', 'A', 'b', 'B') should be sorted like ('a', 'b', 'A', 'B')
默认代码点排序规则将最后对小写字母进行排序。
更新:
排序规则为http://marklogic.com/collation//CL
的输出
答案 0 :(得分:1)
我不认为您可以通过排序规则来实现所需的功能。
您可以使用SI
<strength>
属性:http://marklogic.com/collation//SI
for $i in ("a", "A", "b", "B")
order by $i descending collation "http://marklogic.com/collation//SI"
return $i
但这将返回('b', 'a', 'B', 'A')
代替排序规则,可以测试该值是否等于fn:lower-case()
值,然后按该布尔值排序:
for $i in ("a", "A", "b", "B")
order by $i eq lower-case($i) descending
return $i
答案 1 :(得分:0)
您可以使用http://marklogic.com/collation//CL
。有关此问题的文档可以在search-dev指南的Attribute Portion of the Collation URI部分中找到。在管理界面中查看随机字符串索引也很有用。有一个“排序规则生成器”实用程序(排序规则设置后面的小按钮),可以帮助您同时单击所需的排序规则。
HTH!