用于返回匹配文本的xquery函数位于其他人之前

时间:2017-09-28 20:52:55

标签: xquery marklogic marklogic-7

我正在尝试搜索文字"赛车"在我的数据库中的元素中。我在结果中返回了以下结果,我需要订购结果,以便"赛车"首先是它的完全匹配,然后是按升序排列的其他结果。任何方式都可以为汽车比赛增加一个高分"结果输入?

首次赛车 第二场赛车 第三场赛车 赛车
第一场赛车再次出现 第二场赛车再次出现 第三次赛车再次

1 个答案:

答案 0 :(得分:4)

如果您的元素的值已列出,则可以使用boost query来增加跨越整个元素的匹配的分数而不更改匹配:

cts:boost-query(
  cts:element-word-query(xs:QName("myelement"),"car race"),
  cts:element-value-query(xs:QName("myelement"),"car race"))

值查询说"匹配必须填满整个元素&#34 ;;提升说"匹配第一个查询,添加第二个分数,如果匹配那个"。