我正在执行CURL命令在MarkLogic的Database: Schemas下创建元素范围索引。
下面是CURL命令:CURL -X POST --digest -u admin:admin@123 -H "Content-type: application/json"
-d '{
"range-element-indexes":[
{"scalar-type":"dateTime",
"namespace-uri":"",
"localname":"test",
"collation":"",
"range-value-positions":"",
"invalid-values":"reject",
}
]
}'
http://127.0.0.1:8002/manage/v2/databases/Schemas/properties
I am getting no error , but I see no element range created in the server.
我看到两个问题:
-
/manage/v2/databases/{id|name}/properties支持GET和把动词,不POST。所以,你要改变POST到把.
-
在JSON有效负载中,属性
range-element-indexes
应该是range-element-index
(单数,而不是复数)。这有点令人困惑,但XML格式和JSON格式之间的区别在于,在XML中有一个包含元素range-element-indexes
,它有range-element-index
子序列,但在JSON中只有一个range-element-index
属性,它有一个对象数组。列出属性的文档是根据XML和模式建模的,而不是JSON有效负载。
在做了这些调整之后,我能够PUT并在本地实例上创建range-index。