gpt4 book ai didi

xquery - 移动到 cts :search

转载 作者:行者123 更新时间:2023-12-04 04:49:01 29 4
gpt4 key购买 nike

鉴于此查询:

for $d in cts:search(
fn:doc(),
cts:and-query(
(
cts:collection-query(('InProgress_Audit'))
)
))
where not(fn:contains($d//TitleDate/text(),"Z"))
return <p>{document-uri($d)}</p>

如何将“where”约束移动到 CTS 搜索查询中?

最佳答案

这使用 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 上使用范围索引结合 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 { . }

关于xquery - 移动到 cts :search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17725065/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com