2015-09-03 271 views
4

我已阅读关于cts:search()search:search()分开,但无法弄清楚他们之间的确切区别。它说cts:search()最终使用search:search()。 任何人都可以详细说明应该去哪里的方案cts:search()search:search()。这与一些特殊的项目工作没有关系,我需要实现这一点,但总的来说。搜索:搜索()vs cts:搜索()在MarkLogic

谢谢!

回答

9

Search API(例如search:search())是一个XQuery库,为MarkLogic的某些核心功能(如搜索,构面和聚合)提供高级接口。它使用底层的底层cts:*(和其他)库,但会为大多数开发人员节省一些打字和调试。

一般来说,我建议从搜索API开始。我们已经付出了很多努力来确保它的健壮和快速。例如,在进行分面搜索时,它编排并行获取搜索结果并根据范围索引计算分面。您可以通过Search API获得开箱即用的便利性和最佳做法。如果您需要执行与搜索API提供的内容相同或更大的内容,则有几个地方可以让您使用较低级别的cts:query实例。例如,search:resolve()需要cts:query,并调用相当于search:search()

另外,对于那些在Server-Side JavaScript工作的人来说,即将发布的8.0-4版本将引入一个专门为JavaScript设计的类似定位的高级库。

+0

谢谢!这真的很有帮助。 – Tia

+0

@Tia如果这回答了您的问题,请点击按钮接受它 - 这有助于我们跟踪哪些问题仍然需要回复。谢谢! –