Xml 不区分大小写,未过滤搜索在MarkLogic中返回错误结果
似乎存在与Xml 不区分大小写,未过滤搜索在MarkLogic中返回错误结果,xml,marklogic,Xml,Marklogic,似乎存在与未筛选和区分大小写搜索相关的问题 我正在使用区分大小写的选项运行元素值查询 未过滤的cts搜索返回了错误的结果 下面的代码片段显示了错误的行为 案例1: xdmp:document-insert('/a.xml', <a><name>Dixit</name></a>); cts:search( doc('/a.xml'), cts:element-value-query(xs:QName('name'), 'dixit','ca
未筛选
和区分大小写
搜索相关的问题
我正在使用区分大小写的选项运行元素值查询
未过滤的cts搜索返回了错误的结果
下面的代码片段显示了错误的行为
案例1:
xdmp:document-insert('/a.xml', <a><name>Dixit</name></a>);
cts:search(
doc('/a.xml'),
cts:element-value-query(xs:QName('name'), 'dixit','case-sensitive'),
'unfiltered'
);
xdmp:document-insert('/a.xml', <a><name>Dixit singla</name></a>);
cts:search(
doc('/a.xml'),
cts:element-value-query(xs:QName('name'), 'dixit singla','case-sensitive'),
'unfiltered'
);
输出:返回插入的xml
应为:它不应返回
这是MarkLogic中的错误还是预期的行为。
我很想知道原因
注意:快速区分大小写搜索
&快速区分大小写搜索
两个索引都设置为true
这与上面提到的有些不同
索引分辨率取决于通用索引中的键匹配。事实证明,“Dixit”的不区分大小写键与“Dixit”的区分大小写键相同,因为不区分大小写键的计算方式是计算单词小写形式的键。因此,在比较键时,有一个键与区分大小写的“dixit”匹配,因此索引返回一个匹配项。索引解析可以准确地要求查询中的大写单词只匹配文档中的大写单词,而不要求查询中的小写单词只匹配文档中的小写单词。您需要在此处进行筛选以获得准确的结果 我相信这里已经出现了这种讨论:@Tamas是的,情况类似。Mary解释得很好,但在回答中说,短语(以空格分隔的语言)没有同样的问题
,但就我的短语而言,我也得到了错误的结果。请解释一下。