首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cts: in ()在marklogic 7中不像预期的那样工作

cts: in ()在marklogic 7中不像预期的那样工作
EN

Stack Overflow用户
提问于 2014-03-28 07:04:12
回答 2查看 194关注 0票数 0

在我的应用程序中,我在许多功能中使用cts:cts()。当我迁移到ML-7时,cts:contains()中的大多数地方都不像预期的那样工作。在许多情况下,我正在执行第一个参数的xdmp: but ()来获得所需的结果,但我仍然认为它不是一个有效的修复。另外,在我使用cts::inside的其他情况下,这是不可能的。是否有解决此问题的工作,或者我需要重新处理所有的cts:包含发生的事件?另外,Marklogic 7中是否有此类API更改的文档?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-04 08:54:11

麦克。谢谢你的意见。这个问题作为Marklogic版本7.0.2.2的一部分得到了解决。早期的7.0.2.1版本出现了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2014-03-28 16:51:14

对以前版本的更改见安装指南:http://docs.marklogic.com/guide/relnotes

cts:包含的文档注意到“原子值在检查匹配之前被转换为文本节点”。因此,xdmp:unquote的结果不太可能做您想做的事情。您将测试包含序列化XML的文本节点,而不是测试原始XML节点。

下面是来自cts:containscts:reverse-query文档示例。这对我来说很好,7.0-2.2,并按预期返回true

代码语言:javascript
复制
let $query := <query>{cts:word-query("hello")}</query>
let $x := <bar>hello</bar>
return cts:contains($query, cts:reverse-query($x))

一般来说,cts:contains做内存中的评估,而且不会很好地扩展.使用不在数据库中的单个内存中文档非常方便。但在大多数情况下,cts:searchsearch:search是一个更好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22706304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档