Marklogic Server中的片段是什么意思?

Marklogic Server中的片段是什么意思?,marklogic,Marklogic,我想知道Marklogic Server中片段的含义是什么。请详细解释Marklogic中的碎片化过程是什么,以及为什么我们应该避免碎片化。您阅读了文档吗 简言之: Marklogic索引是基于片段的,这意味着它们的粒度以片段级别结束。通常,文档存储为单个片段(可选地为其属性存储一个单独的片段),但您可以定义片段根和片段父级。它们会导致文档在存储时被切碎,但如果将文档的根序列化到输出,则会检索所有子部分,并将其连接在一起,就像文档从未被切碎一样 为什么要避免 最重要的是,cts查询(搜索库也使用

我想知道Marklogic Server中片段的含义是什么。请详细解释Marklogic中的碎片化过程是什么,以及为什么我们应该避免碎片化。

您阅读了文档吗

简言之:

Marklogic索引是基于片段的,这意味着它们的粒度以片段级别结束。通常,文档存储为单个片段(可选地为其属性存储一个单独的片段),但您可以定义片段根和片段父级。它们会导致文档在存储时被切碎,但如果将文档的根序列化到输出,则会检索所有子部分,并将其连接在一起,就像文档从未被切碎一样

为什么要避免

最重要的是,cts查询(搜索库也使用)通常不会跨越片段边界。您必须明确表示要跨越这些边界,例如使用cts:document fragment查询,这里给出了一个很好的示例:

通过将片段存储为单独的文档,使片段显式化,从而使其显式化。您必须进行多次搜索才能合并结果。MarkLogic非常快,所以只进行几次搜索而不是一次搜索通常也同样快

一些人还观察到处理由许多(数万)片段组成的大型文档时出现了一些性能问题。在单独的文档中不会发生的事情


你看过文档了吗

简言之:

Marklogic索引是基于片段的,这意味着它们的粒度以片段级别结束。通常,文档存储为单个片段(可选地为其属性存储一个单独的片段),但您可以定义片段根和片段父级。它们会导致文档在存储时被切碎,但如果将文档的根序列化到输出,则会检索所有子部分,并将其连接在一起,就像文档从未被切碎一样

为什么要避免

最重要的是,cts查询(搜索库也使用)通常不会跨越片段边界。您必须明确表示要跨越这些边界,例如使用cts:document fragment查询,这里给出了一个很好的示例:

通过将片段存储为单独的文档,使片段显式化,从而使其显式化。您必须进行多次搜索才能合并结果。MarkLogic非常快,所以只进行几次搜索而不是一次搜索通常也同样快

一些人还观察到处理由许多(数万)片段组成的大型文档时出现了一些性能问题。在单独的文档中不会发生的事情


这个问题表明,在提问之前,在研究上没有多大的努力。这个问题表明,在提问之前,在研究上没有多大的努力