我想在cts:element-values本身中格式化dateTime。有谁可以帮我解决这个问题?
我有一个dateTime格式字符串 -
let $date-format := "[Y0001]-[M01]-[D01]T[h01]:[m01]:[s01].[f1]"
我希望在像这样的查询中使用它 -
cts:element-values(
xs:QName($field),
(),
($direction),
cts:and-query((cts:collection-query("urn:iddn:collections:searchable"), cts:query($cts-query)))
)
如果$ field的类型为dateTime。
答案 0 :(得分:2)
您可以通过编写用户定义的函数来完成此操作。 UDF作为map / reduce运行,因此即使使用大型数据集,它们也非常快。我根据dateTime数据写了一个example UDF to create a day-of-the-week facet。该示例基于MarkLogic 6,但仍应在MarkLogic 8中使用。
好处是UDF非常快。棘手的部分是你必须用C ++编写它。 MarkLogic文档的User-Defined Functions section中的完整文档。