Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Marklogic MarLogic中无碎片查询中的问题_Marklogic - Fatal编程技术网

Marklogic MarLogic中无碎片查询中的问题

Marklogic MarLogic中无碎片查询中的问题,marklogic,Marklogic,我有如下文件: <employees> <employee> <id>1</id> </employee> <employee> <id>2</id> </employee> <employee> <id>3</id> </employee> </employees> 它返回: &

我有如下文件:

<employees>
  <employee>
    <id>1</id>
  </employee>
  <employee>
    <id>2</id>
  </employee>
  <employee>
    <id>3</id>
  </employee>
</employees>
它返回:

<employee><id>1</id></employee>
1
我知道将
employee
设置为片段根将返回id为2的employee。但我不明白为什么这个未经过滤的搜索只提供了第一个employee元素。请帮忙


ML版本:8.0-1.1

表示好或坏,这就是未过滤搜索的工作方式

未经过滤的搜索。 未经筛选的搜索将从中选择片段 满足指定cts:query的候选索引,以及 然后它从每个片段中返回一个节点 满足指定的可搜索路径表达式

(注意短语单节点

描述的其余部分提供了有关未筛选结果何时会产生不可预测结果的更多详细信息。但一般来说,除了顶级节点(在您的案例中是employees)之外的任何其他节点都可能不会产生可预测的结果


如果您真的想返回employee 2并使用未过滤的搜索,那么将可搜索表达式设置为doc(),并通过xPath过滤结果。但是要注意,对于员工的大型文档(或任何其他相关数据),这会带来很大的开销。一般来说,要使用未过滤的搜索,您应该以不同的结构(建议)或片段根来构建数据。

无论好坏,这就是未过滤搜索的工作方式

未经过滤的搜索。 未经筛选的搜索将从中选择片段 满足指定cts:query的候选索引,以及 然后它从每个片段中返回一个节点 满足指定的可搜索路径表达式

(注意短语单节点

描述的其余部分提供了有关未筛选结果何时会产生不可预测结果的更多详细信息。但一般来说,除了顶级节点(在您的案例中是employees)之外的任何其他节点都可能不会产生可预测的结果


如果您真的想返回employee 2并使用未过滤的搜索,那么将可搜索表达式设置为doc(),并通过xPath过滤结果。但是要注意,对于员工的大型文档(或任何其他相关数据),这会带来很大的开销。一般来说,要使用未过滤的搜索,您应该以不同的结构(建议)或片段根来构建数据。

无论好坏,这就是未过滤搜索的工作方式

未经过滤的搜索。 未经筛选的搜索将从中选择片段 满足指定cts:query的候选索引,以及 然后它从每个片段中返回一个节点 满足指定的可搜索路径表达式

(注意短语单节点

描述的其余部分提供了有关未筛选结果何时会产生不可预测结果的更多详细信息。但一般来说,除了顶级节点(在您的案例中是employees)之外的任何其他节点都可能不会产生可预测的结果


如果您真的想返回employee 2并使用未过滤的搜索,那么将可搜索表达式设置为doc(),并通过xPath过滤结果。但是要注意,对于员工的大型文档(或任何其他相关数据),这会带来很大的开销。一般来说,要使用未过滤的搜索,您应该以不同的结构(建议)或片段根来构建数据。

无论好坏,这就是未过滤搜索的工作方式

未经过滤的搜索。 未经筛选的搜索将从中选择片段 满足指定cts:query的候选索引,以及 然后它从每个片段中返回一个节点 满足指定的可搜索路径表达式

(注意短语单节点

描述的其余部分提供了有关未筛选结果何时会产生不可预测结果的更多详细信息。但一般来说,除了顶级节点(在您的案例中是employees)之外的任何其他节点都可能不会产生可预测的结果


如果您真的想返回employee 2并使用未过滤的搜索,那么将可搜索表达式设置为doc(),并通过xPath过滤结果。但是要注意,对于员工的大型文档(或任何其他相关数据),这会带来很大的开销。一般来说,要使用未过滤的搜索,您应该以不同的结构(建议)或片段根来构建数据。

过滤正是支持此用例的。运行filtered要比使用XPath事后过滤性能更好。但是,正如David所指出的,更好的解决方案是对数据进行建模,这样每个文档都存储相当于一个RDB行的数据,而不是一个RDB表。将文档放在一个集合中,作为一个RDB表的等价物。正是这个用例支持筛选。运行filtered要比使用XPath事后过滤性能更好。但是,正如David所指出的,更好的解决方案是对数据进行建模,这样每个文档都存储相当于一个RDB行的数据,而不是一个RDB表。将文档放在一个集合中,作为一个RDB表的等价物。正是这个用例支持筛选。运行filtered要比使用XPath事后过滤性能更好。但是,正如David所指出的,更好的解决方案是对数据进行建模,这样每个文档都存储相当于一个RDB行的数据,而不是一个RDB表。将文档放在一个集合中,作为一个RDB表的等价物。正是这个用例支持筛选。运行filtered要比使用XPath事后过滤性能更好。但是,正如David所指出的,更好的解决方案是对数据进行建模,这样每个文档都存储相当于一个RDB行的数据,而不是一个RDB表。将文档放入一个相当于RDB表的集合中。感谢David在周日的回复。这只是一个模拟数据模型,而且
<employee><id>1</id></employee>