Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MarkLogic-通过REST API将变量值传递到选项文件_Marklogic_Marklogic 9 - Fatal编程技术网

MarkLogic-通过REST API将变量值传递到选项文件

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

我使用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/*[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:参数为您的服务器端进行筛选