为什么多个"收集" REST搜索请求中的URL参数没有返回结果?

时间:2015-09-29 03:04:06

标签: marklogic marklogic-8

根据MarkLogic文档,"集合"参数可以在对REST客户端API的GET请求中多次出现;但是,以下返回0结果:

/LATEST/search?q=&collection=GEWN&collection=TSJN

而在同一数据库中指定两个集合的XQuery确实返回了预期的结果:

count(collection(("GEWN","TSJN")))

=> 90871

使用REST API单独查询一个命名集合也会返回预期结果。

感谢。

1 个答案:

答案 0 :(得分:2)

URI参数提供的集合与AND相关。作为查询提供的等价物将是:

<search:query>
<search:and-query>
    <search:collection-query>
        <search:uri>GEWN</search:uri>
    </search:collection-query>
    <search:collection-query>
        <search:uri>TSJN</search:uri>
    </search:collection-query>
</search:and-query>
</search:query>

当多个集合传递给单个fn:collection()cts:collection-query()调用时,集合与OR相关。要获得等效项,请提供以下查询:

<search:query>
<search:collection-query>
    <search:uri>GEWN</search:uri>
    <search:uri>TSJN</search:uri>
</search:collection-query>
</search:query>

以下是JSON中集合查询的参考:

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

希望有帮助,

相关问题