【问题标题】:search:search() vs cts:search() in MarkLogicMarkLogic 中的 search:search() 与 cts:search()
【发布时间】:2015-11-29 17:13:08
【问题描述】:

我已经分别阅读了cts:search()search:search(),但无法弄清楚它们之间的确切区别。它说cts:search() 最终使用search:search()。 任何人都可以详细说明应该使用cts:search()search:search() 的场景。这与我需要实施的某些特定项目工作无关,但总的来说。

谢谢!

【问题讨论】:

    标签: marklogic


    【解决方案1】:

    还值得一提的是:

    • Client REST API,基本上将 Search API 公开为 HTTP 接口
    • Java Client API,将客户端 REST API 公开为一组方便的 Java 对象和方法
    • Node.js Client API,将客户端 REST API 公开为一组方便的 No​​de.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 如果这回答了您的问题,请单击按钮接受它——这有助于我们跟踪哪些问题仍需要回复。谢谢!
      猜你喜欢
      • 2017-11-29
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多