【问题标题】:Marklogic: REST query options file location on filesystemMarklogic:文件系统上的 REST 查询选项文件位置
【发布时间】:2014-09-12 11:19:57
【问题描述】:

我一直在向我的 Marklogic 6 REST 服务器实例添加一些搜索约束。为 REST 服务器使用数据库模块时,我可以看到带有数据库 URL 的 XML 配置文件(例如 /15946974354972814010/rest-api/options/sgd-identifier.xml)。

当我将 REST 服务器的模块从数据库移动到文件系统时,我无法再访问 sgd-identifier.xml 或 default.xml 文件,这确实有意义,因为不再使用数据库。所以我想我必须将这些文件复制到我的文件系统上的文件夹中。

但我无法继续。我一直在尝试将 default.xml 放在各种文件夹中,包括创建一个 rest-api/options 文件夹。它不会被捡起。这不可能吗?

更新:现在我明白这是不可能的。如果 Marklogic 改进错误消息和/或文档会很好,因为在将 curl 上传到服务器时出现 http 500 错误并没有真正的帮助。我会接受 Dave Cassell 的回答,即使认为 grtjn 也有助于通过使其更清晰一些来提供帮助 - 不能同时接受...

【问题讨论】:

    标签: marklogic


    【解决方案1】:

    来自docs

    您还可以创建自定义查询选项。在您可以使用一组之前 自定义查询选项,您必须将它们安装为命名选项,使用 /config/query/{name}。

    通过 REST API 安装选项会将它们放入您的模块数据库中,但如果您已设置为模块使用文件系统,这将不起作用。

    【讨论】:

    • 我尝试将 default.xml 放入 {filesystem-root}/config/query/ 但它不起作用。
    • /config/query/{name} 是您用于安装选项的 REST API 端点,而不是它们最终的位置。您最好的选择确实是使用模块数据库——这是使用 REST API 时的预期操作模式。正如 grtjn 所指出的,您可以通过查看 REST API 将文件放在模块数据库中的位置来伪造它,然后在文件系统上执行此操作,但我鼓励您坚持使用模块数据库。
    【解决方案2】:

    Dave 是对的,安装 REST api 选项、扩展和转换并不是针对从文件系统运行的应用服务器设计的。如果您坚持,您将需要模仿将此类工件安装到适当位置的过程。发现方法的最简单方法是首先针对数据库执行此操作,探索数据库以查看它最终在数据库中的位置和形状,然后在文件系统上执行相同操作。

    也值得考虑使用部署工具,它可以轻松地针对模块数据库运行。例如Roxy 之类的东西..

    HTH!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      • 2015-11-21
      • 2014-12-30
      相关资源
      最近更新 更多