如果我将相同的标记存储在 2 个单独的文档中,一个 XML,另一个 JSON,在 MarkLogic 6 中,MarkLogic 是否会自动将 JSON 转换为 XML,并在这方面对其进行索引,或者都以各自的格式存储?
我得到的是,MarkLogic 是否将所有文档都存储为 XML,不管怎样,并且在查询时简单地将 JSON 转换应用于 JSON 文档?
如果文档以本机格式存储,那么在性能方面,以 JSON 格式存储文档而不是 XML 格式有什么优势吗?
下面是一个示例代码片段:
if($outputFormat="json") then (: result in json format :)
let $custom-config :=
let $config := json:config("custom")
return (map:put($config, "array-element-names",(xs:QName("lp:lesson_plan"),
xs:QName("lp:instructional_segment"),
xs:QName("lp:strand_type"),
xs:QName("lp:resource"),
xs:QName("lp:level"),
xs:QName("lp:discipline"),
xs:QName("lp:language"),
xs:QName("lp:program"),
xs:QName("lp:grade"),
xs:QName("res:strand_type"),
xs:QName("res:resource"),
xs:QName("res:ISBN"),
xs:QName("res:level"),
xs:QName("res:standard"),
xs:QName("res:secondaryURL"),
xs:QName("res:grade"),
xs:QName("res:keyword"))),
map:put($config, "whitespace","ignore"),
map:put($config, "text-value","value"),
$config)
return json:transform-to-json($finalResult, $custom-config)
else (: finalResult in xml format :)
$finalResult