加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 在marklogic服务器中获取不同的结果集

发布时间:2020-12-16 23:00:08 所属栏目:百科 来源:网络整理
导读:我有这样的 XML文档. Authors Author nameR.N Tagore/name bookGitanjli/book /Author Author namePremchand/name bookPanch Parameshvar/book /Author Author nameH.R Bacchan/name bookMadhushala/book /Author Author namePremchand/name bookGaban/book
我有这样的 XML文档.

<Authors>
      <Author>
        <name>R.N Tagore</name>
        <book>Gitanjli</book>
      </Author>
      <Author>
        <name>Premchand</name>
        <book>Panch Parameshvar</book>
      </Author>
      <Author>
        <name>H.R Bacchan</name>
        <book>Madhushala</book>
      </Author>
      <Author>
        <name>Premchand</name>
        <book>Gaban</book>
      </Author>
      <Author>
        <name>Premchand</name>
        <book>Nirmala</book>
      </Author>
      <Author>
        <name>Premchand</name>
        <book>Nirmala</book>
      </Author>
  </Authors>

从上面的XML我需要不同的作者姓名列表.
为此我可以写一个像这样的查询,

fn:distinct-values(cts:search(fn:doc()//pa:Author/pa:name,cts:and-query(())))

上面的代码将做的是,它将获得作者名称的结果,然后fn:distinct-values()函数将从该结果集中过滤不同的作者名称.对于当前场景,它将正常工作,因为XML中的数据仅为6,但是当数据非常高时,请说50个lac

cts:search(fn:doc()//pa:Author/pa:name,cts:and-query(()))

上面的查询部分将给出XDMP-EXPNTREECACHEFULL异常,因为我们试图在内存中缓存50个lac的元素.
因此,需要您的帮助才能通过使用cts:search或search:search API来获取不同的作者姓名.我不想先得到结果集,然后使用fn:distinct-values()从该结果集中提取不同的记录.
谢谢,

解决方法

这个问题在 MarkLogic Community website首页的Ninja教程中解决,我建议你阅读.

见http://community.marklogic.com/try/ninja/page7

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读