这用于cts:query
应用您的约束:
for $d in cts:search(
fn:doc(),
cts:and-not-query(
cts:collection-query('InProgress_Audit'),
cts:element-query(xs:QName('TitleDate'),
cts:word-query('*Z*', 'wildcarded'))
))
return <p>{document-uri($d)}</p>
有索引选项可以加快通配符搜索。您还可以将范围索引TitleDate
与 a 结合使用以cts:element-range-index-query
进一步加快速度。
更新:正如@mblakele 在评论中指出的那样,cts:element-value-query
可能比嵌套的cts:element-query
/更快cts:word-query
:
cts:element-value-query(xs:QName('TitleDate'), '*Z*', 'wildcarded')
并且使用 cts:uris 将比多次重复调用document-uri()
. 但是,您需要在设置中启用 URI 词典选项。将所有这些放在一起,查询将如下所示:
cts:uris((), 'document',
cts:and-not-query((
cts:collection-query('InProgress_Audit'),
cts:element-value-query(xs:QName('TitleDate'),
'*Z*', 'wildcarded')
))) ! element p { . }