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