Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search Marklogic—与约束X次匹配的结果(而不仅仅是单个匹配)_Search_Xquery_Marklogic - Fatal编程技术网

Search Marklogic—与约束X次匹配的结果(而不仅仅是单个匹配)

Search Marklogic—与约束X次匹配的结果(而不仅仅是单个匹配),search,xquery,marklogic,Search,Xquery,Marklogic,假设我有两个文档: <doc1> <a>the dog</a> <a>the cat</a> <a>the human</a> </doc1> 及 现在,对于Marklogic,我想在它们中搜索“the”,以便运行: search:search( 'a:the', <options xmlns="http://marklogic.com/appservices/search

假设我有两个文档:

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

现在,对于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个匹配项的结果呢。。。 例如,“给我有2个以上节点的文档”


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

对你的问题的回答似乎很好。Rob和John总结了这条线索,都指出cts:search的min-occurs选项,Colleen补充道:

要在搜索API中启用该功能,您需要在该元素上配置单词约束,添加min-occurs=2

Mary注意到索引查找将是

…只要您启用了正确的位置,对于这种简单的情况来说是准确的

如果在其上运行xdmp:plan,并在最终计划中看到min出现,则 正确的位置已启用


只是想澄清一下:虽然Colleen提到了一个单词约束,但显示了cts可用的相同选项:元素值查询。因此,您也应该能够将其与值约束一起使用。

您的问题的答案似乎很好。Rob和John总结了这条线索,都指出cts:search的min-occurs选项,Colleen补充道:

要在搜索API中启用该功能,您需要在该元素上配置单词约束,添加min-occurs=2

Mary注意到索引查找将是

…只要您启用了正确的位置,对于这种简单的情况来说是准确的

如果在其上运行xdmp:plan,并在最终计划中看到min出现,则 正确的位置已启用

只是想澄清一下:虽然Colleen提到了一个单词约束,但显示了cts可用的相同选项:元素值查询。因此,您也应该能够将其与值约束一起使用

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>
)