Marklogic:REST查询选项文件系统上的文件位置

Marklogic:REST查询选项文件系统上的文件位置,marklogic,Marklogic,我已经向Marklogic 6 REST服务器实例添加了许多搜索约束。在为REST服务器使用数据库模块时,我可以看到带有数据库URL的XML配置文件(例如/159469743549772814010/RESTAPI/options/sgd identifier.XML) 当我将REST服务器的模块从数据库移动到文件系统时,我无法再访问sgd-identifier.xml或default.xml文件,这是有意义的,因为不再使用数据库。所以我想我必须将这些文件复制到文件系统上的文件夹中 但我不能让它

我已经向Marklogic 6 REST服务器实例添加了许多搜索约束。在为REST服务器使用数据库模块时,我可以看到带有数据库URL的XML配置文件(例如/159469743549772814010/RESTAPI/options/sgd identifier.XML)

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

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

更新:现在我明白这是不可能的。如果Marklogic改进了错误消息和/或文档,那就太好了,因为在向服务器上传curl时出现http 500错误并没有真正的帮助。我会接受戴夫·卡塞尔的答案,即使grtjn也会通过让它更清楚一点来帮助我-不能同时接受这两个答案

来自:

您还可以创建自定义查询选项。在你可以使用一套 自定义查询选项,则必须使用 /config/query/{name}


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

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

还值得考虑使用一个部署工具,使其易于在模块数据库上运行。比如说


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