MarkLogic:Xpath 与搜索

MarkLogic: Xpath vs searches

考虑以下 Xpath 表达式:

/book/metadata/title[. = "Good Will Hunting"]

以及以下搜索表达式:

cts:search(/book/metadata, cts:element-value-query(xs:QName("title"), "Good Will Hunting"), "unfiltered")

Xpath 将使用关系索引和值索引。 搜索是否同时使用术语列表索引和值索引?以上哪些查询更有效且可扩展?

我建议查看每个 xdmp:plan。根据您的特定索引设置,这将向您准确显示我们向索引发送的问题。这些通常是相当可比的,除了你的 cts:search 缺少第一个参数。我假设它会是 /book/metadata,这样您也可以在搜索中选择这些限制。一个关键区别是 XPath 将始终被过滤。 OTOH,这样做的主要成本是将所有碎片从磁盘中取出,所以如果您在使用结果时仍然这样做,那不会产生很大的不同,除非有很多误报,或者您只使用顶部N 个结果。