使用 REST API 搜索搜索文档的元数据属性(最后修改)
Search metadata properties (last-modified) of the document using REST API search
我想使用 REST API 搜索来搜索元数据属性 'last-modified'。我有在查询控制台中运行的等效 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"
}
]
}
}
}
]
}
}
}
}
我得到以下信息
错误"statusCode":500,
"status": "Internal Server Error",
"messageCode": "INTERNAL ERROR",
"message": "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 访问属性?
谢谢。
错误表明 cts.query 的 JSON 序列化无效。
找出正确序列化的一种方法是在 QueryConsole 中工作:
- 写一个 cts.search() 即 returns 预期结果为 cts.query()
- 将 cts.query() 包裹在 xdmp.toJSON() 中,为 cts.query
生成序列化对象
- 使用序列化对象作为有效载荷中
ctsquery
键的值
这应该可以解决 XDMP-QUERYNODE
错误。
希望对您有所帮助,
我想使用 REST API 搜索来搜索元数据属性 'last-modified'。我有在查询控制台中运行的等效 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"
}
]
}
}
}
]
}
}
}
}
我得到以下信息
错误"statusCode":500, "status": "Internal Server Error", "messageCode": "INTERNAL ERROR", "message": "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 访问属性?
谢谢。
错误表明 cts.query 的 JSON 序列化无效。
找出正确序列化的一种方法是在 QueryConsole 中工作:
- 写一个 cts.search() 即 returns 预期结果为 cts.query()
- 将 cts.query() 包裹在 xdmp.toJSON() 中,为 cts.query 生成序列化对象
- 使用序列化对象作为有效载荷中
ctsquery
键的值
这应该可以解决 XDMP-QUERYNODE
错误。
希望对您有所帮助,