MarkLogic 中的 search:search() 与 cts:search()
Posted
技术标签:
【中文标题】MarkLogic 中的 search:search() 与 cts:search()【英文标题】:search:search() vs cts:search() in MarkLogic 【发布时间】:2015-11-29 17:13:08 【问题描述】:我已经分别阅读了cts:search()
和search:search()
,但无法弄清楚它们之间的确切区别。它说cts:search()
最终使用search:search()
。
任何人都可以详细说明应该使用cts:search()
和search:search()
的场景。这与我需要实施的某些特定项目工作无关,但总的来说。
谢谢!
【问题讨论】:
【参考方案1】:还值得一提的是:
Client REST API,基本上将 Search API 公开为 HTTP 接口 Java Client API,将客户端 REST API 公开为一组方便的 Java 对象和方法 Node.js Client API,将客户端 REST API 公开为一组方便的 Node.js 对象和方法HTH!
【讨论】:
【参考方案2】:搜索 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 设计的高级库。
【讨论】:
谢谢!真的很有帮助。 @Tia 如果这回答了您的问题,请单击按钮接受它——这有助于我们跟踪哪些问题仍需要回复。谢谢!以上是关于MarkLogic 中的 search:search() 与 cts:search()的主要内容,如果未能解决你的问题,请参考以下文章
Marklogic xml 转换中的 XSLT 3.0 支持
如何使用 JavaApi 将 XML 中的重音字符写入 MarkLogic?