将cts:search的逻辑转换为search:search

将cts:search的逻辑转换为search:search,search,xquery,marklogic,cts-search,Search,Xquery,Marklogic,Cts Search,在我的项目中,我一直在使用cts:search,但不知何故,它感觉结果所用的时间比预期的要长一些。能否search:search帮助?如果是,怎么做 例如,我的查询是 let $query := cts:and-query((cts:element-value-query(xs:QName("Applicability"),"Yes"))) 我想获取文档URI。我使用的是: cts:search(collection("abc"),

在我的项目中,我一直在使用
cts:search
,但不知何故,它感觉结果所用的时间比预期的要长一些。能否
search:search
帮助?如果是,怎么做

例如,我的查询是

let $query := cts:and-query((cts:element-value-query(xs:QName("Applicability"),"Yes"))) 
我想获取文档URI。我使用的是:

cts:search(collection("abc"), $query) 
它返回了URI,但是如何使用
search:search
提取它呢?
或者,除了搜索之外,还有什么可以帮助缩短执行时间的方法吗?

您对检索文档感兴趣,还是只对URI感兴趣

如果您只希望检索具有该值的元素的文档的URI,请使用而不是
cts:search()
cts:uris()
函数未经过滤地运行,只从词典中返回uri,而不是检索所有文档,如果不需要内容,这可能比
cts:search
昂贵得多

cts:uris("", (), cts:and-query(( collection("abc"), $query)) ) 
使用
cts:search
时,我会尝试的第一件事是将
unfiltered
选项添加到搜索中,看看是否有帮助

默认情况下,
cts:search
执行过滤:

过滤搜索(默认设置)。过滤搜索消除任何假阳性匹配,并正确解决同一片段中存在多个候选匹配的情况。筛选的搜索结果完全满足指定的
cts:query

因此,请尝试使用“未筛选”选项执行相同的查询:


您还可以使用元素范围索引或字段范围索引在该适用性元素上创建,然后使用适当的范围查询而不是值查询。

一般说明:搜索:搜索使用cts:search。cts:搜索和其他cts功能通常更快,但更低级。感谢您的快速帮助!!我还需要内容,但是的,未过滤的内容可以获得更好的响应时间。我也会尝试创建索引,但需要内容,因此cts:URI在这里可能没有多大帮助。。!!
cts:search(collection("abc"), $query, "unfiltered")