当在元素值查询中传递'标点符号敏感'时,cts搜索返回'未过滤'的错误结果

Dix*_*gla 0 marklogic marklogic-8

我将举一个例子来复制这个问题.

假设我XML在Documents DB中插入了以下文件MarkLogic.

<root>
  <name>(publishe name)</name>
</root>
Run Code Online (Sandbox Code Playgroud)

我正在运行以下cts查询.

cts:search(
  doc(),
  cts:element-value-query(xs:QName('name'), 'publishe name',('case-insensitive', 'punctuation-sensitive', 'diacritic-sensitive')),
  'unfiltered'
)
Run Code Online (Sandbox Code Playgroud)

上面的查询返回上面的XML,即使我传递的punctuation-sensitive选项.

请帮我弄清楚为什么它会返回上面的XML?

上面有什么不对cts search query吗?

注意:对于filtered选项,它工作正常,因为我没有得到空序列.

我正在使用MarkLogic 8

小智 5

MarkLogic只能准确地从索引中精确地解析标点符号敏感值查询,如果它们是准确的:case-,whitespace-,diacritic-和标点符号敏感.由于您的查询不区分大小写,因此无法从索引中解析.

xdmp:plan可用于查看正在向索引发送的查询.