【问题标题】:Marklogic - results that match a constraint X times (not just a single match)Marklogic - 匹配约束 X 次的结果(不仅仅是单个匹配)
【发布时间】:2012-10-12 18:09:45
【问题描述】:

假设我有 2 个文档:

<doc1>
  <a>the dog</a>
  <a>the cat</a>
  <a>the human</a>
</doc1>

<doc2>
  <a>the dog</a>
  <a>foo</a>
  <a>bar</a>
</doc2>

现在对于 Marklogic,我想在它们中搜索“the”,以便我可以运行:

search:search(
  'a:the',
  <options xmlns="http://marklogic.com/appservices/search">
    <constraint name="a">
        <value>
            <term-option>case-insensitive</term-option>
            <element ns="" name="a"/>
        </value>
    </constraint>
  </options>
)

这可行,但返回两个文件(这是我要求的) 但是,如果我只想要在约束上匹配超过 1 个的结果怎么办...... IE。 '给我那些有 2+ 个节点的文档'

我不知道从哪里开始。谢谢!

【问题讨论】:

    标签: search xquery marklogic


    【解决方案1】:

    http://markmail.org/message/gaehhxnr7qb2un5p#query:+page:1+mid:vxjmjuh2wflofa67+state:results 对您的问题的回答似乎不错。总结线程,Rob 和 John 都指出了 min-occurs 选项 cts:search 和 Colleen 补充说:

    要在 Search API 中启用该功能,您需要在该元素上配置字词约束,添加 &lt;term-option&gt;min-occurs=2&lt;/term-option&gt;

    Mary 指出索引查找将是

    ...只要您启用了正确的位置,对于像这样的简单情况都是准确的。

    如果你在它上面运行 xdmp:plan 并在最终计划中看到 min-occurs,你有 启用了正确的位置。

    澄清一下:虽然 Colleen 提到了单词限制,但 http://docs.marklogic.com/cts:element-value-query 显示了与 cts:element-value-query 相同的选项。所以你应该也可以将它与值约束一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      相关资源
      最近更新 更多