使用管理 API 在 MarkLogic 9.2 上设置元数据字段

Set a metadata field on MarkLogic 9.2 using the Management API

我尝试使用 MarkLogic 9.2 上的管理 API 设置元数据字段。我在端口 8002 上发送以下内容:

PUT /manage/v2/databases/mydb/properties
Accept: application/json
Content-Type: application/json
{"field":[{"field-name":"foobar","metadata":""}]}

但我在 return 中得到了 500,并出现以下消息,抱怨 admin:database-set-field-metadata() 未定义:

XDMP-UNDFUN: (err:XPST0017) xdmp:function(fn:QName("http://marklogic.com/xdmp/admin","database-set-field-metadata"))($config, $dbid, $field-name, $prop/fn:data(.)) -- Undefined function Q{http://marklogic.com/xdmp/admin}database-set-field-metadata()

请注意,将 metadata 属性 设置为 true 失败,架构表示它必须是一个空字符串,但我怀疑这是否相关。

知道如何使用管理 API 设置元数据字段吗?

Making a proper response to my own question, based on Geert's comments. Thanks!

这是 ML 9.2 中的错误。升级到 9.4 将解决问题。

如果现在无法升级,在 /v1/eval 上向客户端 API 发送要评估的 XQuery 确实可以帮助您获得相同的结果。