在 cts:element 值中格式化日期时间

Format date time in cts:element-values

我想在 cts:element 值本身中格式化日期时间。谁能帮我解决这个问题?

我有一个日期时间格式字符串 -

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 类型。

您可以通过编写用户定义函数来完成此操作。 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 中的完整文档。