如何通过使用MarkLogic指定特定节点并使用片段获取结果来进行搜索?

时间:2018-03-08 01:36:49

标签: search marklogic code-snippets

我想对MarkLogic数据库中注册的文档执行以下操作。

  1. 在搜索之前,将搜索词与其关联文档相关联
  2. 仅搜索与搜索字词相关联的文档,并使用代码段
  3. 获取结果

    如果您想将搜索结果作为搜索结果,我想使用搜索API搜索:搜索或搜索:解析功能。 但是,与cts:search函数不同,这些函数不能将节点指定为参数,因此您似乎无法仅搜索特定节点(文档)。

    CTS:搜索:

    cts:search(
        $expression as node()*,
        $query as cts:query?,
        [$options as (cts:order|xs:string)*],
        [$quality-weight as xs:double?],
        [$forest-ids as xs:unsignedLong*]
    ) as node()*
    

    搜索:解析:

    search:resolve(
        $query as element(),
        [$options as element(search:options)?],
        [$start as xs:unsignedLong?],
        [$page-length as xs:unsignedLong?]
    ) as element(search:response)
    

    如果您只搜索特定文档(节点)并知道如何以搜索结果的形式获取搜索结果,请告诉我。

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找可以放入<searchable-expression>的{​​{1}}。另见:

HTH!