我在MarkLogic REST API中的有效负载下面构造了
:"query": {
"jsonPropertyRangeQuery": {
"property": "rangeChange",
"operator": ">",
"value": 60
}
}
它引发错误:“ messageCode”:“ MANAGE-INVALIDPAYLOAD”,“ message”:“ MANAGE-INVALIDPAYLOAD:(err:FOER0000)有效载荷的结构,内容类型或值有错误。XDMP-QUERYNODE:cts:query (对象节点{\“属性\”:文本{\“ rangeChange \”},\“操作符\”:文本{\“> \”},\“值\”:文本{\“ 60 \”}} )-查询元素object-node {\“ property \”:text {\“ rangeChange \”},...}包含未知子元素“}}
如果我在下面进行操作,那么它将通过
"query": {
"jsonPropertyValueQuery": {
"property": "city",
"value": "Chicago"
}
}
有什么想法吗?
答案 0 :(得分:0)
尝试改用结构化查询:
"query": {
"range-query": {
"json-property": "city",
"value": "Chicago",
"range-operator": "GT"
}
}
另请参阅:https://docs.marklogic.com/guide/search-dev/structured-query#id_83393
HTH!
答案 1 :(得分:0)
Geert的答案的一个脚注阐明了“查询”的顶部键包含结构化查询。...
首先,鉴于问题中未出现“ percentChange”,这可能是另一个问题。
无论如何,要将cts.query()的JSON序列化发送到/ v1 / search端点,包含cts.query()的键应该是“ ctsquery”而不是“ query”,因此REST API知道如何反序列化查询。
希望有帮助,