用于目录查询的Marklogic Rest API

Far*_*san 4 xquery marklogic marklogic-8

我有以下XQuery用于获取目录的文档.

xquery version "1.0-ml";

cts:search(fn:collection(), cts:directory-query("/Path/To/Docs/", "infinity"))
Run Code Online (Sandbox Code Playgroud)

现在我需要将其转换为REST调用,但我似乎无法按照此页面上的文档进行破解.

https://docs.marklogic.com/REST/GET/v1/search

更新:

使用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();
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

kco*_*man 6

正如David所说,您不需要为此目的使用结构化查询,但如果您有将来需要:

我相信你最初的问题是这不是一个结构良好的结构化查询:

{\"queries\":[ {\"directory-query\":{\"uri\":[\"/Path/to/Docs/\"]},\"infinite\":true} ]}
Run Code Online (Sandbox Code Playgroud)

您错过了顶级"查询"属性.您可以在此处找到使用目录查询的完全形成的结构化查询的示例:

http://docs.marklogic.com/guide/search-dev/structured-query#id_97452

此外,您可能已经知道,但是有一个本机Java API位于REST API之上.您可以在此处详细了解此API:

https://docs.marklogic.com/javadoc/client/index.html

http://docs.marklogic.com/guide/java