我尝试使用MLCP导入和-output_uri_replace
选项加载文档,例如
-output_uri_replace
".*/,'',---,':',___,'/'"
一切都很好,除了我需要在我的URI中保留方括号,MLCP始终将它们编码为%5B
和%5D
我尝试过不同的模式来强迫它(或根本没有模式)但是没办法......
-output_uri_replace
".*/,'',---,':',___,'/',\[,'U\+005B',\],'\]'"
任何具有相同经验或解决方案的人? :)
答案 0 :(得分:0)
我也玩过一点,看起来像-output_uri_replace
在uri编码之前执行。撤消不需要的uri编码的唯一安全方法是使用转换。像下面这样的东西似乎可以解决这个问题:
xquery version "1.0-ml";
module namespace ingest = "http://marklogic.com/ingest-transform";
declare option xdmp:mapping "false";
declare function ingest:transform(
$content as map:map,
$context as map:map
) as map:map*
{
let $uri := map:get($content, "uri")
let $doc := map:get($content, "value")
let $_ := map:put($content, "uri", fn:replace(fn:replace($uri, "%5B", "["), "%5D", "]"))
return $content
};
HTH!