【问题标题】:how to change the first parameter of cts:search query formed by search:search API?如何更改由 search:search API 形成的 cts:search 查询的第一个参数?
【发布时间】:2017-02-10 08:03:07
【问题描述】:

我们知道最后search:search 将形成cts:search 查询。 在形成的cts:search 查询中,第一个参数始终为fn:collection()

有什么办法可以把第一个参数改成fn:doc()或者fn:collection('some_collection')

【问题讨论】:

    标签: indexing marklogic


    【解决方案1】:

    根据 cmets 更新

    您可以通过在搜索选项的'附加查询'部分添加 cts:collection-query("some-collection") 来实现相同的结果。这会将它与创建的查询相结合。

    此外,您还可以使用强大的搜索选项进行更精细的控制。一个例子是:
    <searchable-expression>

    此外,在使用结构化查询时,您还可以使用各种搜索选项: https://docs.marklogic.com/guide/search-dev/structured-query#id_59265 其中之一是文档查询目录查询容器

    https://docs.marklogic.com/guide/search-dev

    【讨论】:

    • 是的,这就是我目前正在做的事情,但是我必须传入 cts:search() 的第一个参数实际上我必须通过 fn:doc("uri")/some_path
    • 根据您在评论中提供的其他信息进行了更新。如果这还不够,请扩展您的问题,提供更完整的示例。
    • 注意必须将序列化版本放入:<cts:collection-query xmlns:cts="http://marklogic.com/cts"> <cts:uri>some-collection</cts:uri> </cts:collection-query>。您可以找到任何查询的序列化版本,如下所示:<r>{cts:collection-query("some-collection")}</r>/*
    猜你喜欢
    • 2015-11-29
    • 2017-11-29
    • 2022-11-21
    • 1970-01-01
    • 2017-09-18
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多