我有一段代码
declare variable $a as xs:string := "case-insensitive punctuation-insensitive
unwildcarded";
declare variable $b as xs:string* := tokenize($a, ' ');
let $d as cts:query := cts:field-word-query("FULL-CASE-NAME", "complaints",
$b, 30)
return <q>{$d}</q>它会产生这样的结果
<q>
<cts:field-word-query weight="30" xmlns:cts="http://marklogic.com/cts">
<cts:field>FULL-CASE-NAME</cts:field>
<cts:text xml:lang="en">complaints</cts:text>
<cts:option>case-insensitive</cts:option>
<cts:option>punctuation-insensitive</cts:option>
<cts:option>unwildcarded</cts:option>
</cts:field-word-query>
</q>但我想做的是这个
<q>
<cts:field-word-query weight="30" xmlns:cts="http://marklogic.com/cts">
<cts:field weight="10">FULL-CASE-NAME</cts:field>
<cts:text xml:lang="en">complaints</cts:text>
<cts:option>case-insensitive</cts:option>
<cts:option>punctuation-insensitive</cts:option>
<cts:option>unwildcarded</cts:option>
</cts:field-word-query>
</q>不同之处在于这一行添加了一个权重作为属性
<cts:field weight="10">FULL-CASE-NAME</cts:field>发布于 2019-02-22 19:27:55
cts:field只保存字段的名称。权重(在您的初始代码中为30)已经存在,并作为属性附加到它所属的cts:field-word-query。
哈!
https://stackoverflow.com/questions/54825717
复制相似问题