Xquery 用于目录查询的Marklogic Rest API
我有下面的XQuery,用于获取目录的文档Xquery 用于目录查询的Marklogic Rest API,xquery,marklogic,marklogic-8,Xquery,Marklogic,Marklogic 8,我有下面的XQuery,用于获取目录的文档 xquery version "1.0-ml"; cts:search(fn:collection(), cts:directory-query("/Path/To/Docs/", "infinity")) 现在,我需要将其转换为REST调用,但根据本页上的文档,我似乎无法破解它 更新: 使用Jersey REST API,它尝试了这一点,但得到了406个错误 String query = "{\"queries\":[ {\"director
xquery version "1.0-ml";
cts:search(fn:collection(), cts:directory-query("/Path/To/Docs/", "infinity"))
现在,我需要将其转换为REST调用,但根据本页上的文档,我似乎无法破解它
更新:
使用Jersey REST API,它尝试了这一点,但得到了406个错误
String query = "{\"queries\":[ {\"directory-query\":{\"uri\":[\"/Path/to/Docs/\"]},\"infinite\":true} ]}";
String encodedQuery = URLEncoder.encode(query, "UTF-8");
WebTarget target = searchWebTarget.queryParam("structuredQuery", encodedQuery);
final Response response = target.request().get();
有什么想法吗?按目录约束是直接在搜索API上的查询参数。不需要其他符号
请参阅此处的文档:正如David所说,您不需要为此目的使用结构化查询,但如果您将来需要: 我相信您最初的问题是,这不是一个格式良好的结构化查询:
{\"queries\":[ {\"directory-query\":{\"uri\":[\"/Path/to/Docs/\"]},\"infinite\":true} ]}
您缺少顶级“查询”属性。您可以在此处找到使用目录查询的完整格式结构化查询的示例:
另外,您可能已经知道了,但是RESTAPI之上有一个本机JavaAPI。您可以在此处了解有关此API的更多信息:
您能详细说明您目前尝试的内容吗?更新了我在发送此commadd https://[marklogic host]时在此处找到的我目前尝试的内容:8801/v1/search?collection=&directory=/Path/to/Doc/I收到响应,但返回内容的uri不是以/Path/to/Doc/开头的,而是完全不同的内容。您可以提供一个与上述xquery匹配的示例吗?对于上面的Xquery,RESTURL是什么样子的?通过对目录路径进行url编码来解决。谢谢