cts搜索返回“未经过滤的'”的错误结果。什么时候标点符号敏感'在元素值查询中传递

时间:2017-05-04 17:06:46

标签: marklogic marklogic-8

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

假设我在XML的文档数据库中插入了以下MarkLogic文件。

<root>
  <name>(publishe name)</name>
</root>

我正在运行以下cts查询。

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

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

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

以上cts search query中是否有任何错误?

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

我正在使用MarkLogic 8

1 个答案:

答案 0 :(得分:5)

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

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