Xquery 路径范围查询在MarkLogic中未按预期工作
我有两个场景,其中路径范围查询的行为不同-Xquery 路径范围查询在MarkLogic中未按预期工作,xquery,marklogic,Xquery,Marklogic,我有两个场景,其中路径范围查询的行为不同- 1. cts:search(fn:doc(), cts:path-range-query("/test/path/node/Id","=","ABC_123")) 上面的查询给出了正确的结果 2. cts:search(fn:doc(), cts:path-range-query("/test/path/node/Id","=","ABC 123")) 第二个查询不获取任何结果。该文档存在于数据库中,用于AB
1. cts:search(fn:doc(),
cts:path-range-query("/test/path/node/Id","=","ABC_123"))
上面的查询给出了正确的结果
2. cts:search(fn:doc(),
cts:path-range-query("/test/path/node/Id","=","ABC 123"))
第二个查询不获取任何结果。该文档存在于数据库中,用于ABC_123
和ABC 123
我已经在/test/path/node/Id
上创建了路径范围索引
有什么建议吗?@Shalini
我在控制台上测试了这两个查询,运行良好,路径变化很小:
I mentioned in path range index is : test/path/node/id instead of /test/path/node/Id
在控制台上测试的文件:
a.xml:
<test>
<path>
<node><id>ABC 123</id></node>
</path>
</test>
a.xml:
ABC 123
b、 xml
ABC_123
结果来自两个查询。@Shalini
我在控制台上测试了这两个查询,运行良好,路径变化很小:
I mentioned in path range index is : test/path/node/id instead of /test/path/node/Id
在控制台上测试的文件:
a.xml:
<test>
<path>
<node><id>ABC 123</id></node>
</path>
</test>
a.xml:
ABC 123
b、 xml
ABC_123
两个查询都会得到结果。这也适用于大写的
Id
。至少对我来说是这样。这也适用于大写的Id
。至少对我来说是这样。你能分享一份显示这种行为的(测试)文档吗?您还可以分享您使用的MarkLogic的版本吗?我使用的是MarkLogic 9.0.6,似乎是名称空间的问题。在创建路径范围索引期间,我没有在管理页面上定义名称空间。这就是原因吗?是的,名称空间肯定是个问题。在管理ui中定义带有前缀的路径名称空间,并在路径表达式中使用该名称空间。路径查询表达式也必须匹配..能否共享显示此行为的(测试)文档?您还可以分享您使用的MarkLogic的版本吗?我使用的是MarkLogic 9.0.6,似乎是名称空间的问题。在创建路径范围索引期间,我没有在管理页面上定义名称空间。这就是原因吗?是的,名称空间肯定是个问题。在管理ui中定义带有前缀的路径名称空间,并在路径表达式中使用该名称空间。路径查询表达式也必须匹配。。