Marklogic - 使用选项文件从后端

问题描述:

我目前正在使用/v1/search端点,使用options = search.xml参数。Marklogic - 使用选项文件从后端

我正致力于将功能移动到后端,进入自定义扩展端点。

现在,我已将选项文件复制到模块本身。无论如何要访问服务器上已存储的选项文件并使用它来代替硬编码选项?将不可避免地有超过1个端点可能想要使用相同的选项,并且不希望硬编码到每个端点。

欢迎任何建议。谢谢

您需要PUT or POST your options to /v1/config/query/[name]。然后,您可以在/ v1/search请求中指定选项文件的名称。


编辑:响应更详细评论

假设您上传的名称的选项“搜索”,然后你到/ V1 /搜索调用是这样的:

http://{server}:{port}/v1/search?options=search&q=my+query 

您可以通过转至/v1/config/query来验证您的选件已正确安装。

+0

这就是我怎么做,现在,我想从一个扩展服务 – Busturdust

选项文件存储在模块数据库中。要阅读它,你需要使用xdmp:invoke-function()或者其他的eval或invoke方法来执行模块数据库中的fn:doc()。

为了维护性和性能,在选项定义中保留扩展名可能是最好的选择。

一个脚注:你可能已经注意到了,但是,如果不是,/ v1/search请求可以发送一个包含查询和选项的组合search:search元素。

希望帮助,

+0

嗨,感谢您的指导所说的已配置选项文件。我将研究如上所述的评估职能。我正在做搜索:在后端搜索,所以我可以从知识图中查找相关数据以包含在搜索请求中......也许我会考虑维护每个服务的单个选项,但是会先调用函数 – Busturdust