在MarkLogic中搜索:search()vs cts:search()

时间:2015-09-03 18:25:38

标签: marklogic

我已分别阅读cts:search()search:search(),但无法弄清楚它们之间的确切差异。它说cts:search()最终使用search:search()。 任何人都可以详细说明应该选择cts:search()search:search()的情况。这与某些特定的项目工作无关,我需要实现这一点,但总的来说。

谢谢!

2 个答案:

答案 0 :(得分:11)

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

一般情况下,我建议您从Search API开始。我们付出了很多努力来确保它的稳健性和快速性。例如,在进行分面搜索时,它会协调获取搜索结果并并行地从范围索引计算构面。您可以通过Search API获得开箱即用的许多其他便利和最佳实践示例。如果您需要执行比Search API提供的更多或更多的操作,则有几个地方允许您使用较低级别的cts:query实例。例如,search:resolve()需要cts:query,并且相当于search:search()

此外,对于那些在Server-Side JavaScript工作的人来说,即将推出的8.0-4版本将推出专为JavaScript设计的类似定位的高级库。

答案 1 :(得分:2)

另外值得一提的是:

HTH!