定义片段时计算文档

在此示例中要考虑的 XML 文档 -

<a>
    <b>test-value</b>
    <d>fragment-d</d>
    <c-root>
        <d>fragment-d</d>
        <e>fragment-e</e>
    </c-root>
</a>

片段根在 <c-root> 上声明

如果这是数据库中唯一的文档,则 xdmp:estimatefn:count 的行为会有所不同 -

xdmp:estimate(cts:search(fn:doc(), cts:element-value-query(xs:QName("d"), "fragment-d")))

以上查询的结果将是 2(片段数)

fn:count(cts:search(fn:doc(), cts:element-value-query(xs:QName("d"), "fragment-d")))

以上查询的结果将是 1(文件数量)

在性能方面 xdmp:估计fn:count要好得多,因为它在解析搜索结果时利用索引的优势