使用MarkLogic REST API创建元素范围索引-不在服务器上创建元素范围,无错误



我正在执行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. 

我看到两个问题:

  1. /manage/v2/databases/{id|name}/properties支持GET动词,不POST。所以,你要改变POST.

  2. 在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。

最新更新