【问题标题】:Search metadata properties (last-modified) of the document using REST API search使用 REST API 搜索搜索文档的元数据属性(上次修改)
【发布时间】:2020-05-21 19:10:24
【问题描述】:

我想使用 REST API 搜索来搜索“上次修改”的元数据属性。我有在查询控制台中工作的等效 cts 搜索。

qconsole 中的 CTS 查询正在运行-

  cts.search(cts.andQuery([
 cts.propertiesFragmentQuery(
    cts.elementRangeQuery(
        xs.QName('prop:last-modified'),'>',
        "2020-04-07T10:22:55-05:00"))
        ]))

这是我用来执行的 REST API 搜索结构化查询。

http://localhost:xxxx/v1/search?format=json&pageLength=2000&start=1

{
    "search": {
        "ctsquery": {
            "andQuery": {
                "queries": [
                    {
                        "propertiesFragmentQuery": {
                            "elementRangeQuery": {
                                "property": [
                                    "xsQName('prop:last-modified')"
                                ],
                                "operator": ">",
                                "value": [
                                    {
                                        "type": "dateTime",
                                        "val": "2020-04-07T10:22:55-05:00"
                                    }
                                ]
                            }
                        }
                    }
                ]
            }
        }
    }
}

我收到以下内容

错误“状态代码”:500, "status": "内部服务器错误", "messageCode": "内部错误", "消息": "XDMP-QUERYNODE: cts:query(object-node{\"andQuery\":object-node{\"queries\":array-node{object-node{\"propertiesFragmentQuery\":object-node {...}}}}}) -- 查询元素 object-node{\"elementRangeQuery\":object-node{...}} 包含未知子节点。有关详细信息,请参阅 MarkLogic 服务器错误日志。"

是我在查询中遗漏了什么,还是有其他方法可以从 REST API 访问属性?

谢谢。

【问题讨论】:

    标签: marklogic marklogic-9


    【解决方案1】:

    错误提示cts.query的JSON序列化无效。

    找出正确序列化的一种方法是在 QueryConsole 中工作:

    1. 编写一个 cts.search(),返回 cts.query() 的预期结果
    2. 将 cts.query() 包装在 xdmp.toJSON() 中以生成 cts.query 的序列化对象
    3. 使用序列化的对象作为载荷中ctsquery键的值

    这应该可以解决XDMP-QUERYNODE 错误。

    希望对您有所帮助,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      相关资源
      最近更新 更多