MarkLogic-通过REST API将变量值传递到选项文件
我使用PUT/v1/config/query将选项文件加载到模块DB中。然后我使用?options=module name&q=FullName:John Smith执行GET/v1/搜索。我试图通过RESTAPI传递作为参数提供的全名,以限制输出内容 选项文件中的以下代码工作正常MarkLogic-通过REST API将变量值传递到选项文件,marklogic,marklogic-9,Marklogic,Marklogic 9,我使用PUT/v1/config/query将选项文件加载到模块DB中。然后我使用?options=module name&q=FullName:John Smith执行GET/v1/搜索。我试图通过RESTAPI传递作为参数提供的全名,以限制输出内容 选项文件中的以下代码工作正常 <extract-document-data selected="include"> <extract-path>/envelope/instance/Contact/*[FullNa
<extract-document-data selected="include">
<extract-path>/envelope/instance/Contact/*[FullName="John Smith"]
</extract-path>
</extract-document-data>
如何将FullName的值作为参数传递,该值来自restapi prameters,而不是硬编码?大概
<extract-document-data selected="include">
<extract-path>/envelope/instance/Contact/*[FullName=$FullName]
</extract-path>
</extract-document-data>
我尝试了上述语法,但在部署put/v1/config/query时出错
{错误响应:{
状态代码:400,
状态:请求错误,
消息代码:RESTAPI-INVALIDCONTENT,
消息:RESTAPI-INVALIDCONTENT:err:FOER0000无效内容:提取文档数据的路径无效:/envelope/instance/Contact/*[FullName=$FullName]
}}
您可以在请求中随查询发送选项,而不是预先加载选项。见: 在发送请求之前,客户端可以在提取路径值中替换实际的全名 请求可以在qtext元素中提供查询字符串
希望这能有所帮助,或者,您可以简单地提取所有全名,然后在客户端进行筛选,或者编写一个REST转换,该转换使用trans:参数为您的服务器端进行筛选 嗯