You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elasticsearch中搜索‘phone’时区分手机与手机壳?

解决电商搜索中“phone”关键词优先展示手机品类的问题
  • 给品类加权提分:在搜索排序逻辑里,给「手机」品类的产品设置更高的权重。比如用Elasticsearch的话,用function_score给对应品类的文档额外加分,示例代码:
{
  "query": {
    "function_score": {
      "query": { "match": { "title": "phone" } },
      "functions": [
        {
          "filter": { "term": { "category": "手机" } },
          "weight": 2
        }
      ]
    }
  }
}

这样手机品类的产品得分会直接乘以权重值,压过手机壳的得分。

  • 精准匹配独立关键词:针对手机品类产品标题里的“phone”做精准匹配加权。比如手机标题常出现“XX Phone”这类独立词,而手机壳是“XX Phone Case”,可以让单独匹配“phone”的文档获得更高boost:
{
  "query": {
    "bool": {
      "should": [
        { "match": { "title": { "query": "phone", "boost": 1 } } },
        { "term": { "title.keyword": "phone", "boost": 3 } }
      ]
    }
  }
}
  • 弱化品类关联词的干扰:手机壳的标题里“phone”是和“case”绑定出现的,可以给这类品类里的“phone”匹配得分做衰减处理,或者在分词阶段给“case”这类品类专属词降权。

  • 结合用户行为优化排序:如果有用户点击数据,统计搜索“phone”时用户更倾向点击手机品类的产品,把点击量、转化率这类行为数据加入排序逻辑,让用户偏好的产品排得更靠前。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 23:45:00