MarkLogic cts:query在REST API jsonPropertyRangeQuery中包含未知子级

我在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"
     }
}

有什么想法吗?

dengfuji 回答:MarkLogic cts:query在REST API jsonPropertyRangeQuery中包含未知子级

尝试改用结构化查询:

"query": {
  "range-query": {
    "json-property": "city","value": "Chicago","range-operator": "GT"
  }
}

另请参阅:https://docs.marklogic.com/guide/search-dev/structured-query#id_83393

HTH!

,

Geert的答案的一个脚注阐明了“查询”的顶部键包含结构化查询。...

首先,鉴于问题中未出现“ percentChange”,这可能是另一个问题。

无论如何,要将cts.query()的JSON序列化发送到/ v1 / search端点,包含cts.query()的键应该是“ ctsquery”而不是“ query”,因此REST API知道如何反序列化查询。

希望有帮助,

本文链接:https://www.f2er.com/3043523.html

大家都在问