search:search() 与 MarkLogic 中的 cts:search()
search:search() vs cts:search() in MarkLogic
我分别阅读了 cts:search()
和 search:search()
,但无法弄清楚它们之间的确切区别。它说 cts:search()
最终使用 search:search()
。
任何人都可以详细说明应该选择 cts:search()
和 search:search()
的场景。这与我需要实施的某些特定项目工作无关,但总的来说。
谢谢!
搜索 API(例如 search:search()
)是一个 XQuery 库,它为 MarkLogic 的一些核心功能(例如搜索、构面和聚合)提供高级接口。它在幕后使用较低级别的 cts:*
(和其他)库,但将为大多数开发人员节省大量的输入和调试工作。
一般来说,我建议从搜索 API 开始。我们付出了很多努力来确保它的健壮性和快速性。例如,在进行分面搜索时,它会协调获取搜索结果并从范围索引中并行计算分面。您可以通过搜索 API 获得开箱即用的便利和最佳实践的许多其他示例。如果您需要做一些比搜索 API 提供的更多或不同的事情,有几个地方允许您使用较低级别的 cts:query
实例。例如,search:resolve()
采用 cts:query
并调用 search:search()
的等价物。
此外,对于那些在 Server-Side JavaScript 工作的人来说,即将发布的 8.0-4 版本将引入一个类似定位的高级库,专为 JavaScript 设计。
另外值得一提的是:
- Client REST API,基本上将搜索 API 公开为 HTTP 接口
- Java Client API,它将客户端 REST API 公开为一组方便的 Java 对象和方法
- Node.js Client API,它将客户端 REST API 公开为一组方便的 Node.js 对象和方法
HTH!
我分别阅读了 cts:search()
和 search:search()
,但无法弄清楚它们之间的确切区别。它说 cts:search()
最终使用 search:search()
。
任何人都可以详细说明应该选择 cts:search()
和 search:search()
的场景。这与我需要实施的某些特定项目工作无关,但总的来说。
谢谢!
搜索 API(例如 search:search()
)是一个 XQuery 库,它为 MarkLogic 的一些核心功能(例如搜索、构面和聚合)提供高级接口。它在幕后使用较低级别的 cts:*
(和其他)库,但将为大多数开发人员节省大量的输入和调试工作。
一般来说,我建议从搜索 API 开始。我们付出了很多努力来确保它的健壮性和快速性。例如,在进行分面搜索时,它会协调获取搜索结果并从范围索引中并行计算分面。您可以通过搜索 API 获得开箱即用的便利和最佳实践的许多其他示例。如果您需要做一些比搜索 API 提供的更多或不同的事情,有几个地方允许您使用较低级别的 cts:query
实例。例如,search:resolve()
采用 cts:query
并调用 search:search()
的等价物。
此外,对于那些在 Server-Side JavaScript 工作的人来说,即将发布的 8.0-4 版本将引入一个类似定位的高级库,专为 JavaScript 设计。
另外值得一提的是:
- Client REST API,基本上将搜索 API 公开为 HTTP 接口
- Java Client API,它将客户端 REST API 公开为一组方便的 Java 对象和方法
- Node.js Client API,它将客户端 REST API 公开为一组方便的 Node.js 对象和方法
HTH!