首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MarkLogic,如何在cts字段词查询中为字段添加权重

MarkLogic,如何在cts字段词查询中为字段添加权重
EN

Stack Overflow用户
提问于 2019-02-22 19:05:24
回答 1查看 54关注 0票数 1

我有一段代码

代码语言:javascript
复制
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>

它会产生这样的结果

代码语言:javascript
复制
<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>

但我想做的是这个

代码语言:javascript
复制
<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>

不同之处在于这一行添加了一个权重作为属性

代码语言:javascript
复制
<cts:field weight="10">FULL-CASE-NAME</cts:field>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-22 19:27:55

cts:field只保存字段的名称。权重(在您的初始代码中为30)已经存在,并作为属性附加到它所属的cts:field-word-query

哈!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54825717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档