当我们搜索构面时,如何返回以Ar *开头的所有值
xquery version "1.0-ml";
import module namespace search = "http://marklogic.com/appservices/search"
at "/MarkLogic/appservices/search/search.xqy";
let $options :=
<options xmlns="http://marklogic.com/appservices/search">
<values name="entity">
<range type="xs:string">
<element ns="http://www.com/mynamespace" name="country" />
</range>
</values>
<return-metrics>false</return-metrics>
</options>
return search:values("entity", $options)
答案 0 :(得分:2)
我认为你不能用search:values
做到这一点。它确实需要start
parameter,您可以为其指定Ar
,但这只会提供下限,而不是上限。如果文档片段中有并发值,则证明上限和下限的范围查询将无济于事。
如果您可以直接使用cts函数,我会说使用cts:value-match
。这可以直接使用您的通配符:
cts:value-match(cts:element-reference(fn:QName("http://www.com/mynamespace", "country"), "Ar*")
HTH!