You need to enable JavaScript to run this app. Elasticsearch如何配置brand字段仅用于提权且不扩大召回结果集
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch如何配置brand字段仅用于提权且不扩大召回结果集

Elasticsearch brand字段提权实现方案

实现思路

  • 不改动原有召回逻辑,将其放入bool查询的must子句中,严格限定只有符合原有规则的文档才能进入结果集
  • 在外层bool查询新增should子句配置brand字段的匹配规则,利用ES的bool查询特性:当存在must/filter约束时,should子句无需强制命中,仅会为命中的文档叠加相关性得分,不会扩大召回范围

修改后的查询DSL

{
  "query": {
    "bool": {
      "must": [
        {
          "bool": {
            "minimum_should_match": 1,
            "should": [
              {
                "multi_match": {
                  "query": "Cadbury chocklate milk",
                  "fields": ["name", "summary", "description"]
                }
              },
              {
                "term": {
                  "name_keyword": {
                    "value": "Cadbury chocklate milk"
                  }
                }
              }
            ]
          }
        }
      ],
      "should": [
        {
          "match": {
            "brand": {
              "query": "Cadbury chocklate milk",
              "boost": 2
            }
          }
        }
      ]
    }
  }
}

参数说明

  • boost参数可根据业务需求调整,数值越高brand匹配对最终得分的影响越大
  • 若brand字段为keyword类型,可将match查询替换为term查询实现精确匹配提权

内容的提问来源于stack exchange,提问作者Bikas Katwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 18:51:03