当使用包含多个提取路径的查询选项节点时,即使在提取文档数据中单独使用任一提取路径时请求成功,MarkLogic REST Client API的默认搜索端点也会导致服务器错误:
{"errorResponse":{"statusCode":500, "status":"Internal Server Error", "messageCode":"RESTAPI-INTERNALERROR", "message":"RESTAPI-INTERNALERROR: (err:FOER0000) Internal error: JSON build, unbalanced pairs: "}}
令人讨厌的路径:
<extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ProjectCode</extract-path>
<extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ShortProjectTitle</extract-path>
仅在格式为JSON时发生-XML格式的行为符合预期。可以在不同的数据集之间重现此错误。
整个选项节点:
<options xmlns="http://marklogic.com/appservices/search">
<search-option>unfiltered</search-option>
<quality-weight>0</quality-weight>
<page-length>10</page-length>
<extract-document-data selected="include">
<extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ProjectCode</extract-path>
<extract-path xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:FO="http://founders.archives.gov/">/tei:text/FO:metadata/FO:ShortProjectTitle</extract-path>
</extract-document-data>
</options>
我只提取父元素FO:metadata; 但是,它返回一个字符串,指示对解析库的依赖(不是吗?),我将尽可能避免这种依赖。
任何建议的解决方法,不胜感激。谢谢。
内联响应存在一个已知的错误,应在8.0-3中修复。
在此期间,应该以XML或multipart / mixed响应(如果源文档为XML的方式也是XML)的方式来获取提取的片段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句