使用管理 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 确实可以帮助您获得相同的结果。
我尝试使用 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 确实可以帮助您获得相同的结果。